我有以下div:
<div class="row hide alert-danger text-center h4 alert"
id="test 123" data-for="862">
Some Text.
</div>
当我写这篇文章时:$('#test 123').hasClass('hide')
我仍然是假的。
有任何线索吗? 提前谢谢。
答案 0 :(得分:3)
根据html4以及html5标准,你不能拥有空格。
我不鼓励您使用此解决方案,但您可以使用属性相等选择器作为解决方法:
$('[id="test 123"]').hasClass('hide')
答案 1 :(得分:0)
将其更改为
<div class="row hide alert-danger text-center h4 alert"
id="test-123" data-for="862">
Some Text.
</div>
然后$('#test-123').hasClass('hide')
应按预期工作。
jQuery空间指定另一个选择器的开始的东西。因此,它寻找&lt; 123&gt;元素中的元素,id为#test
答案 2 :(得分:0)
你的选择器现在的工作方式是,它在div #test中搜索123。将其更改为仅测试或test_123。
答案 3 :(得分:0)
更好的编码方法,我们应该遵循编码的规则和惯例,我们必须设置没有空格的DOM元素id,你需要将id更改为test_123(带空格)
答案 4 :(得分:0)
在CSS和jQuery选择器中,空格是descendant combinator。您的选择器 - #test 123
- 匹配&#34;类型<123>
的元素,它们是具有id="test"
&#34;的元素的后代。
此外,the HTML specification says(关于ID属性):
该值不得包含任何空格字符。
所以:
这样:
id="test-123"
'#test-123'
答案 5 :(得分:-1)
你可以尝试这个:
<div class="row hide alert-danger text-center h4 alert"
id="test 123" data-for="862">
Some Text.
</div>
jquery的
$( "#test 123" ).hasClass( "hide" )