Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何查找没有id、名称、类、属性等的元素。?_Javascript_Jquery - Fatal编程技术网

Javascript 如何查找没有id、名称、类、属性等的元素。?

Javascript 如何查找没有id、名称、类、属性等的元素。?,javascript,jquery,Javascript,Jquery,我想查找(可能使用jquery)一个空/裸/等元素。例如,我想查找所有没有id、名称、类或任何其他属性的span元素 <html> <head></head> <body> <span> found </span> <span id="foo"> not found </span> <span name="foo"> not found </span>

我想查找(可能使用jquery)一个空/裸/等元素。例如,我想查找所有没有id、名称、类或任何其他属性的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>

建立
找不到
找不到
找不到
找不到
建立
找不到

如果一个元素没有任何标识类、id、名称或属性,那么找到它的唯一方法是通过它在层次结构中的位置和它在该层次结构中的位置,在某些情况下,通过它没有的属性或它拥有的内容


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

感谢@adeneo提供的信息,
this.attributes
始终返回一个值。因此,我将澄清答案

如何使用jQuery选择“裸”(没有任何属性)的元素:

$('span').filter(function(){
    return (this.attributes.length === 0);
}).text();
.text()
方法只是一个占位符,在这一点上可以应用任何东西


查找空的
属性列表:

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

示例:

您只需循环遍历元素,并找到具有
属性的元素。长度==0

var els=document.getElementsByTagName('span');
对于(var i=0;i试试这个

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

对于(var v=0;vIt应为
span
而不是
。span
此属性始终返回something@adeneo-是的,我编辑了我的答案,因为我意识到它可能会,也可能不会。我告诉过你我在胡编乱造!haha@jfriend00-你似乎不理解问题的本质,这是一个关于可能性的一般性问题。我道歉,但我对此我无能为力。@jfriend00-这个问题写得很糟糕,而且似乎没有任何实际应用程序,至少我不会用它来查找元素,但它确实回答了“如何查找没有属性的元素”的问题?如果没有要在其中查找特定元素的确切HTML片段,则此问题是不完整的。此问题没有通用答案-任何答案都必须与特定HTML片段中的特定目标关联。到目前为止,您的示例不是完整的HTML(无结束标记)因此,我假设这只是一个演示,而不是您想要在其中查找内容的实际HTML。我在示例中添加了另一个span标记,以强调您不能依赖位置来查找正确的元素。
var elements=document.getElementsByTagName("span")
for(var v=0;v<elements.length;v++){
    if(elements[v].attributes.length==0){
    //your element without any attribute
    }
}