jquery - 如何根据一个属性选择元素并排除具有另一属性的元素?

标签 jquery jquery-mobile jquery-selectors

我被困在这里:

我想选择所有具有 data-role="page" 属性且不带有 data-internal-page="true" 属性的 div。 p>

这不起作用:

$('div:jqmData(role="page")').not('div:jqmData(internal-page="true")')

有人可以告诉我语法有什么问题吗?第二个属性始终被忽略。

感谢您的帮助!

最佳答案

我不使用jqmData,但它可能不会查找所有数据属性,而仅查找与 jQuery Mobile 关联的数据属性。尝试使用常规属性选择器:

$('div[data-role="page"]').not('div[data-internal-page="true"]')

这是一个演示:http://jsfiddle.net/Y4mxw/

请注意,如果您不使用 tagName,您的选择器将会运行得更快:

$('[data-role="page"]').not('[data-internal-page="true"]')

关于jquery - 如何根据一个属性选择元素并排除具有另一属性的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8917200/

相关文章:

javascript - 如何使用表从动态构建的表单中捕获

jquery - 从 jQuery 移动 ListView 动态删除列表项时的刷新问题

jquery-mobile - jQuery 移动 : number input and plus/minus buttons inline

jquery - 如何使用 jquery 从字符串数组生成 UL Li 列表?

jquery - 需要帮助选择 jQuery 选择器

jquery - 在 javascript 中,我如何知道函数需要什么类型的参数

javascript - JSON 未正确发布

javascript - Chrome 鼠标滚动在我的网站上不起作用

jquery-mobile - 为什么我无法取消选中 JQuery Mobile 中的复选框?

jquery - "only-visible-child"元素?