我有以下代码:
jQuery
console.log($("button[class='confirm_button'][data-id='5141']").length);
HTML
<button type="button" class="btn btn-warning btn-xs confirm_button" data-id="5141">Click to confirm</button>
点击按钮即可触发console.log
。但是,我总是得到零的长度。我尝试隐藏/显示它,但是失败了,所以去查看它是否存在,并将其长度设为零。
有什么明显的吗?
答案 0 :(得分:1)
尝试提供console.log($("button[class$='confirm_button'][data-id='5141']").length);
来检查类是否以给定的字符串结尾
答案 1 :(得分:0)
要获得预期的结果,请使用属性包含单词选择器'〜'而不是属性等于选择器'='
问题:将类与'='配合使用应完全匹配类-'btn btn-warning btn-xs Confirm_button'
根据jQuery官方文档
属性等于选择器[name =” value”]
选择具有指定属性的值与特定值完全相等的元素。
$('button').on('click', function(){
console.log($("button[class~='confirm_button'][data-id='5141']").length);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button type="button" class="btn btn-warning btn-xs confirm_button" data-id="5141">Click to confirm</button>
请找到所有属性类型选项-https://api.jquery.com/category/selectors/attribute-selectors/
答案 2 :(得分:0)
选择器
$("button[class='confirm_button'][data-id='5141']")
正在搜索带有button
标签的元素,该元素具有等于class
的属性confirm_button
和具有值data-id
的另一个属性5141
。
此选择器未选择按钮
<button type="button" class="btn btn-warning btn-xs confirm_button" data-id="5141">Click to confirm</button>
因为此按钮不具有值为class
的属性confirm_button
,而是具有值为class
的属性btn btn-warning btn-xs confirm_button
。
如果要选择具有特定类别的按钮,则可以使用选择器:
$("button.confirm_button[data-id='5141']")