我正在循环显示一个表单并显示与我选择的ID匹配的内容。问题是一些div包含多个id,在这种情况下它停止工作。有任何想法吗?谢谢。当元素有多个ID时匹配
jQuery代码:
$('#myForm').find('div').each(function() {
var myId = $(this).attr('id');
/* This will work */
if (myId == "Select1"){
$(this).removeClass("hideMe");
$(this).addClass("showMe");
}
/* This does not work */
else if (myId == "Select4"){
$(this).removeClass("hideMe");
$(this).addClass("showMe");
}
else{}
});
HTML代码:
<div class="hideMe" id="Select1">
<p>Some Content</p>
</div>
<div class="hideMe" id="Select2 Select3 Select4 Select5">
<p>Some Content</p>
</div>
我会第一个说,WTF – Jason 2011-06-15 21:19:20
问题是divs不能有多个ID。看到这个问题:http://stackoverflow.com/q/192048/206403 – 2011-06-15 21:19:29
根据规范,一个'id'不能包含空格。所以你的HTML无效。如果你做了无效的HTML,这意味着从现在起发生的所有事情都是未定义的行为。而且,嘿,这种行为在浏览器中可能会有所不同。所以首先修复你的HTML。 – 2011-06-15 21:19:39