jQuery:Can';t查找由类和数据属性标识的按钮

jQuery:Can';t查找由类和数据属性标识的按钮,jquery,Jquery,我有以下代码: 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> 点击确认 单击按钮即可触发控制台.log。但是,我总是得到一个长度

我有以下代码:

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>
点击确认
单击按钮即可触发
控制台.log
。但是,我总是得到一个长度为零的值。我试着隐藏/显示它,但失败了,所以我去看看它是否存在,得到的长度值为零


有什么明显的问题吗?

尝试给出
console.log($($(按钮[class$='confirm\u按钮][data id='5141'])长度)要获得预期结果,请使用属性包含单词选择器'~',而不是属性等于选择器'='

问题:使用带“=”的类应与确切的类匹配-btn btn警告btn xs确认按钮“

根据jQuery官方文档

属性等于选择器[name=“value”]
选择具有指定属性且其值完全等于某个值的元素

$('button')。在('click',function()上{
log($($按钮[class~='confirm_button'][data id='5141'])长度);
})

单击以确认选择器

$("button[class='confirm_button'][data-id='5141']")
正在搜索带有
按钮
标记的元素,该元素具有等于
确认按钮
的属性
,以及另一个值为
5141
的属性
数据id

此选择器没有选择按钮

<button type="button" class="btn btn-warning btn-xs confirm_button" data-id="5141">Click to confirm</button>

有什么原因不能单独使用
数据id
属性吗?在表行中,有一些元素共享相同的数据id。当我在输入和文本区域尝试此操作时,我不需要添加$,但这似乎对按钮有效。知道为什么吗?它与类结束属性匹配。在这种情况下,它检查属性是否以
confirm_按钮结尾
$
替换为
*
whcih表示
包含
^
whcih表示
开头
$("button.confirm_button[data-id='5141']")