我被困在这里:
我想选择属性 data-role =“page”的所有div,它们不带 data-internal-page =“true”属性。
这不起作用:
$('div:jqmData(role="page")').not('div:jqmData(internal-page="true")')
有人能告诉我语法有什么问题吗?第二个属性总是被忽略。
感谢您的帮助!
答案 0 :(得分:2)
我不使用jqmData
但它可能不查找所有data-attribute
,而只查找与jQuery Mobile相关联的$('div[data-role="page"]').not('div[data-internal-page="true"]')
。尝试使用常规属性选择器:
$('[data-role="page"]').not('[data-internal-page="true"]')
以下是演示:http://jsfiddle.net/Y4mxw/
请注意,如果您不使用tagName:
,您的选择器将运行得更快{{1}}
答案 1 :(得分:0)
您可以使用 native jquery(没有任何选择器插件/扩展名)来执行此操作:
var $divs = $('div[data-role="page"]:not([internal-page="true"])');
<强> DEMO 强>
答案 2 :(得分:0)
计时...我正在调用选择器,但是在分配了第二个属性之前。像这样设置超时表明了这一点:
window.setTimeout(function() {
console.log( $('div:jqmData(role="page")').not('div:jqmData(internal-page="true")').length );
},500);
感谢大家的帮助!