如何使用 jquery 检查变量选择器中的属性?

Posted

技术标签:

【中文标题】如何使用 jquery 检查变量选择器中的属性?【英文标题】:How to check for an attribute in a variable-selector using jquery? 【发布时间】:2012-04-03 05:31:15 【问题描述】:

我有以下 Jquery 代码:

$('div:jqmData(wrapper="true"):jqmData(ex="true") div:jqmData(role="page")').each(function(index)  
     // do sth 
     );

我想用我的变量 page 替换 $('div:jqmData(wrapper="true")

问题: 如何让上述语法与我的变量 page 一起使用?这实际上不起作用:

page.is(':jqmData(ex="true")').find('div:jqmData(role="page")').each(function()  
   // do sth 
   );

感谢您的意见!

【问题讨论】:

【参考方案1】:

.is 返回一个布尔值,指示选择器是否适用于集合中的一个或多个元素。要过滤当前集合,请改用.filter

page.filter(':jqmData(ex="true")').find(...)

【讨论】:

啊。这就是我一直在寻找的。谢谢!【参考方案2】:

jquery中的is函数只返回true或false,所以你可以在if语句中使用它,如下所示:

if(page.is(':jqmData(ex="true")'))

    page.find('div:jqmData(role="page")').each(function()  
        // do sth
    );

【讨论】:

以上是关于如何使用 jquery 检查变量选择器中的属性?的主要内容,如果未能解决你的问题,请参考以下文章

在 jQuery 属性等于值选择器中使用变量作为值

如何在 jQuery 选择器中使用 JavaScript 变量?

输入名称选择器中的jquery变量[关闭]

如何在 Jquery 选择器中使用变量 [重复]

jQuery 属性名称选择器中的通配符?

为啥 jQuery 3 不能识别属性选择器中的“#”字符?