我有一个旧项目,其中包含带有重复ID的HTML。将选择器从IDS切换到类需要很多工作,我可以用JQuery来做到,特别是我知道我会隐藏多少个div。如何使jQuery与包含重复ID的无效HTML一起工作?
<div id="d"></div>
<div id="d"></div>
<div id="d"></div>
我想用一个单一的动作来掩饰他们都:
$('#d').hide();
,但它只是隐藏了第一个div。
我有一个旧项目,其中包含带有重复ID的HTML。将选择器从IDS切换到类需要很多工作,我可以用JQuery来做到,特别是我知道我会隐藏多少个div。如何使jQuery与包含重复ID的无效HTML一起工作?
<div id="d"></div>
<div id="d"></div>
<div id="d"></div>
我想用一个单一的动作来掩饰他们都:
$('#d').hide();
,但它只是隐藏了第一个div。
您隐藏了id,由于您拥有非唯一ID,因此无法工作。添加一个data- *属性给他们或一个类作为标志。
<div data-someattributename="flag" id="d">
$('div[data-someattributename]').hide();
由于您的编辑:
$.each($('div'), function() {
If ($(this).attr('id')=="d") {
$(this).hide();
}
});
我不知道如果ID的第一个,因为它们复制后擦拭,但如果他们不,这应该工作。
ID应该是唯一的。尝试设置一个班级,然后基于此隐藏。
<div class="d"></div>
<div class="d"></div>
<div class="d"></div>
$('.d').hide();
我编辑了这个问题:) – Fady
使用类,而不是id属性,因为ID必须为每个元素的独特之处:
<div class="d"></div>
<div class="d"></div>
<div class="d"></div>
然后:
$(document).ready(function(){
$(".d").hide();
});
您可以通过或者通过一个父类或DIV做像
(".parent_class/id>div").hide();
或
通过添加一个类,布兰登告诉
最重要的事情是ID亩是唯一
每个ID属性必须在文档中的独特价值。 ID和类选择之间
差异
唯一的区别是,当他们应该被使用。一个ID选择器通常被保留用于一次出现在页面上的东西。例如,如果您有一个包含多个主题标题的页面,但有一个特定的主题标题需要从其他主题标题中脱颖而出,则可以为该特定主题标题创建一个ID选择器规则。 ID选择器为其提供唯一的名称和标识,因此您可以更改该主题标题,而不会影响该集合的其余部分。
,如果你将验证与使用相同ID页面不止一次它会给你一个错误
有具有相同ID的几个元素是无效的HTML:http://stackoverflow.com/questions/7262195/several-elements- with-the-same-id-respond-to-one-css-id-selector/7262229#10262229 –
你不能有多个具有相同ID的元素。你有没有尝试过类? –
查看我的编辑:) – Fady