HOWTO · jQuery
如何在 jQuery 中更改文本
使用 jQuery 的 text() 方法读取元素的文本,或将其替换为新文本,既可以直接替换,也可以在响应点击时替换。
本页内容
使用 jQuery 的 text() 方法,可以读取选中元素中的文本,也可以为其设置新文本。不带参数调用 .text() 可读取文本;传入字符串则会替换选中元素的文本内容。
jQuery 中的 text() 方法
不带参数的 .text() 是 getter(读取器):它会返回所有匹配元素的文本内容合并结果。例如,若页面包含 <p id="line">It's a line.</p>,那么 $('#line').text() 会返回 It's a line.。这个调用读取当前文本,不会设置值。
传入值时,.text(value) 是 setter(设置器)。它会更新每个匹配元素的文本内容,并返回 jQuery 集合,因此可以链式调用。传入的值会作为文本处理,所以 <strong> 这样的标记字符会显示为文本,而不会被解析为 HTML。只有在确实需要设置标记,并且已安全处理任何不可信输入时,才使用 .html()。
使用 jQuery 的 text() 方法直接更改文本
在浏览器页面中加载 jQuery,并在文档就绪后调用 setter。下面的 Node 示例用一个精简的页面和 jQuery 选择器替身,让同样的调用可以独立运行。示例从包含“Text”的段落开始,设置其文本后打印结果:
const document = {};
const elements = { '#title': { text: 'Text' } };
function $(selector) {
if (selector === document) {
return { ready(callback) { callback(); } };
}
const element = elements[selector];
return {
text(value) {
if (value === undefined) return element.text;
element.text = value;
return this;
}
};
}
$(document).ready(function() {
$('#title').text('New Text');
});
console.log($('#title').text());
New Text
在实际页面中,可以在 ready 回调中使用 <p id="title">Text</p>,并调用相同的 $('#title').text('New Text') setter。回调执行后,段落会显示“New Text”。Node 替身演示了方法调用;要在浏览器中使用页面本身,还必须加载 jQuery。
使用 jQuery 的 text() 方法通过点击事件更改文本
要在点击后更新文本,可为按钮绑定处理函数,并在函数中对目标段落调用 .text()。下面这个独立的 Node 示例模拟了一个段落和按钮,然后调用已注册的处理函数,展示点击前后的文本:
const document = {};
const elements = {
'#title': { text: 'Text' },
'#press': {}
};
const handlers = {};
function $(selector) {
if (selector === document) {
return { ready(callback) { callback(); } };
}
const element = elements[selector];
return {
text(value) {
if (value === undefined) return element.text;
element.text = value;
return this;
},
click(callback) {
handlers[selector] = callback;
return this;
}
};
}
$(document).ready(function() {
$('#press').click(function() {
$('#title').text('Text Altered');
});
});
console.log($('#title').text());
handlers['#press']();
console.log($('#title').text());
Text
Text Altered
在浏览器中,可以将处理函数用于 <p id="title">Text</p> 和 <button id="press">Text Change</button>,并确保在脚本运行前已加载 jQuery。段落起初显示“Text”;点击按钮后会变为“Text Altered”。选择器中的 ID 必须与页面元素的 ID 一致,这样处理函数才能更新目标段落。