如何删除所有null id的元素

时间:2016-09-09 10:41:13

标签: javascript jquery html

我想检查id没有值的页面上的任何元素,然后使用jQuery的<iframe id class="iframeCol"...></iframe> <div id class="sectional">..</div> 删除它们。

当他们没有从CMS传递的值时,这就是id的外观:

var converter = new Converter<int, double>(f)

如何定位id如上所述的所有元素?

5 个答案:

答案 0 :(得分:4)

您可以使用属性选择器来实现此目的:

$('[id=""]').remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<iframe id class="iframeCol">Remove this</iframe>
<div id class="sectional">And remove this</div>

<div>Keep this</div>
<div id="foo">And this</div>

答案 1 :(得分:2)

也可以在没有jQuery的情况下完成:

Array.prototype.forEach.call(document.querySelectorAll('[id=""]'), function(node) {
    node.parentNode.removeChild(node);
});

我知道你指定了jQuery的使用,但它仅供参考。

答案 2 :(得分:1)

&#13;
&#13;
$('body *').each(function() {
  console.log($(this).attr('id'))
  if ($(this).attr('id') == '') {
    $(this).remove();

  }

})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<iframe id class="iframeCol" ...></iframe>
<div id class="sectional">..</div>
<div class="sectional">123</div>
<div id='asd' class="sectional">asd</div>
&#13;
&#13;
&#13;

比较ID,如果等于空白删除

答案 3 :(得分:1)

如果您喜欢没有jQuery的vanilla JavaScript,可以使用:

document.querySelectorAll('[id=""]').forEach(function(item){
    item.parentNode.removeChild(item);
});
<iframe id class="iframeCol">Remove this</iframe>
<div id class="sectional">And remove this</div>

<div>Keep this</div>
<div id="foo">And this</div>

简要说明:

Document.querySelectorAll() 使用CSS3 selector选择元素列表。

Array.prototype.forEach() 循环选择。

HTML DOM parentNode属性 获取父节点的节点。

Node.removeChild() 从DOM中删除子节点。

答案 4 :(得分:1)

//Alternate way
$('body').find('*[id=""]').remove();

var removedItems = 
     $('iframe, div')
     .map(
      function(){ if($(this).attr('id') == "") return this}
     )
    .remove()
    .toArray();
console.log("See the removed items");
console.log(removedItems);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<iframe id class="iframeCol">Remove this</iframe>
<div id class="sectional">And remove this</div>

<div>Keep this</div>
<div id="foo">And this</div>

<div id="">Remove this</div>

@Rory McCrossan:谢谢你的片段。