如何找到没有id,名称,类,属性等的元素?

时间:2014-04-02 20:29:51

标签: javascript jquery

我想找(可能是使用jquery)一个空/裸/等的元素。例如,我想找到所有没有id,name,class或任何其他属性的span元素。

<html>
<head></head>
<body>
    <span> found </span>

    <span id="foo"> not found </span>

    <span name="foo"> not found </span>

    <span class="foo"> not found </span>

    <span style="width:foo"> not found </span>

    <span> found </span>

    <span foo="bar"> not found </span>
</body>
</html>

5 个答案:

答案 0 :(得分:5)

感谢@adeneo获取信息,this.attributes始终返回一个值。因此,我会清理答案。

如何选择&#34;裸体&#34; (没有任何属性)使用jQuery:

$('span').filter(function(){
    return (this.attributes.length === 0);
}).text();

.text()方法只是一个占位符,此时可以应用任何内容。

What the hell, here's a simple jsFiddle.

答案 1 :(得分:4)

寻找一个空的attributes列表:

var spans = $('span').filter(
  function() {
    return (this.attributes.length == 0);
});

示例:http://codepen.io/paulroub/pen/JjAia/

答案 2 :(得分:2)

如果一个元素没有任何识别类,id,名称或属性,那么找到它的唯一方法是它在层次结构中的位置及其在该层次结构中的位置,在某些情况下,由它没有的属性,也可能是它拥有的内容。

这个问题没有通用的答案,因为它实际上取决于您的具体情况和确切的HTML,所以只有当您提供准确的HTML并告诉我们您在寻找哪个元素时,人们才能更具体地帮助您。那个HTML。

答案 3 :(得分:1)

试试这个。

var elements=document.getElementsByTagName("span")
for(var v=0;v<elements.length;v++){
    if(elements[v].attributes.length==0){
    //your element without any attribute
    }
}

答案 4 :(得分:0)

您只需循环浏览元素并找到attributes.length == 0 http://jsfiddle.net/HjBGP/

的元素
var els = document.getElementsByTagName('span');

for(var i=0;i<els.length;i++){
    if(els[i].attributes.length == 0) {
       console.log(els[i].innerHTML);
    }
}