$(“#msg”).text(); 和 $(“#msg”).text(“\**new content\**”);有什么区别?
$("#msg").text();
和 $("#msg").text("**new content**");
在 jQuery 中分别用于获取和设置元素的文本内容,它们的主要区别在于操作的性质:一个是获取(读取)操作,另一个是设置(写入)操作。
$("#msg").text();
- 用途:获取 ID 为
msg
的元素的文本内容。 -
行为:当使用
.text()
方法而不带任何参数时,它会返回匹配元素集合中第一个元素的文本内容。如果选择器匹配了多个元素,只有第一个元素的文本内容会被返回。 -
示例:
var content = $("#msg").text(); console.log(content); // 输出:#msg 元素的当前文本内容
$("#msg").text("**new content**");
- 用途:设置 ID 为
msg
的元素的文本内容为 “new content“。 -
行为:当
.text()
方法带有一个参数时,该参数指定的新文本内容会替换匹配元素集合中每个元素的当前文本内容。如果选择器匹配了多个元素,每个元素的文本内容都会被设置为新的文本。 -
示例:
$("#msg").text("**new content**"); // 这会将所有匹配 "#msg" 选择器的元素的文本内容设置为 "**new content**"
总结
$("#msg").text();
用于获取元素的文本内容,不会改变文档的状态。$("#msg").text("**new content**");
用于设置元素的文本内容,会替换指定元素的当前文本。
这两个用法反映了 jQuery 方法的通用模式,即当方法不带参数时,通常用于获取值;当方法带参数时,用于设置值。这种设计使得 jQuery 的 API 既简洁又富有表现力。