如果 *any* 属性匹配,JQuery 选择元素

标签 jquery html jquery-selectors

我想要一个像 $(".author") 这样的选择器,如果“author”是任何属性的值,而不仅仅是类,它将选择一个元素。

例如selector.text() 应该为以下每个页面提供“Emily Ekins”:

<a href="http://reason.com/people/emily-ekins" rel="author">Emily Ekins</a>

<bloop href="http://reason.com/people/emily-ekins" id="author">Emily Ekins</a>

<blah href="http://reason.com/people/emily-ekins" class="author">Emily Ekins</a>

<tag href="http://reason.com/people/emily-ekins" random="author">Emily Ekins</a>

有什么办法吗?

最佳答案

var elements = document.getElementsByTagName("*");
for(var i=0;i<elements.length;i++){
    var element = elements[i];
    var attr = element.attributes;
    for(var j=0;j<attr.length;j++){
        if(attr[j].nodeValue == 'author'){
            element.style.backgroundColor='red';
        }
    }
}

Example

哇!那花了一些时间。但这将检查任何给定元素每个属性,如果任何属性是author,它将改变背景颜色为红色。

关于如果 *any* 属性匹配,JQuery 选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8371229/

相关文章:

javascript - 如何使用 Javascript 防止浏览器发出 clang

jquery - 如何使用jQuery根据单选按钮是否选中显示内容

html - div 内的表格将 div 水平拉伸(stretch)超过 100%

jquery - 页面上使用相同类的多个 Jquery 对话框

javascript - 在 $.get 和 $.post 处理程序中全局捕获 javascript 错误

iphone - -webkit 文本大小调整 : none doesn't seem to be working

javascript - 为什么 .trim() 不能与我一起使用?

jquery - 在 jquery 中创建的 <a> 标签

jquery - 这是 jquery 的有效 HTML

javascript - jQuery/JS/etc 菜单生成器