jQuery:找不到由类和数据属性标识的按钮

时间:2019-06-18 13:12:04

标签: 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>

点击按钮即可触发console.log。但是,我总是得到零的长度。我尝试隐藏/显示它,但是失败了,所以去查看它是否存在,并将其长度设为零。

有什么明显的吗?

3 个答案:

答案 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/

Codepen-https://codepen.io/nagasai/pen/agmzKj?editors=1010

答案 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']")