来自jQuery API文档。
html的()
获取匹配元素集中第一个元素的HTML内容,或者设置每个匹配元素的HTML内容。
如何确定此函数是匹配第一个元素还是匹配的所有元素?考虑一下这个HTML。
$(document).ready(function() {
$("p:#simple").html("I changed to this");
});
如果我使用以下jQuery
"p:simple"
我会得到:
我改为这个 第二段
如果我将"#simple"
更改为<p class="simple">The first paragraph</p>
<p class="simple">The second paragraph</p>
,则此结果相同
但是,如果将html更改为使用类而不是ids
"p:#simple"
并将"p:.simple"
更改为"p"
或 ".simple"
或 GetProcAddress
,结果将是
我改为这个 我改成了这个
为什么会这样?
答案 0 :(得分:1)
您的Id
必须是唯一的
您可以在此处了解详情:http://www.w3.org/WAI/GL/WCAG20/tests/test185.html
因此,当您在jquery中使用id选择器时,它总是应用于在DOM
上找到的第一个元素如果你想在多个元素上应用你的jquery代码,那么你可以使用class
选择器,或者你可以使用不同的id
并为所有id
编写相同的代码(如果必须在所有元素上使用相同的代码,则不首选)
这不仅仅是.html()
函数,这适用于所有javasript
代码
答案 1 :(得分:0)
分配给 HTML 页面中元素的每个 ID 都应该是唯一的。而类可以应用于多个元素。 当指定 ID 时,JQuery会自动选择第一个元素,但在使用类选择器时将选择所有匹配的元素。