0

如何找到<div>没有 id 的标签?

这是我的标记:

<body>
    <div>this is a text</div>
</body>

div这是我用来向页面添加 s 的JavaScript :

var show = function () {
    var htmlNode = document.createElement('DIV');
    document.body.insertBefore(htmlNode, document.body.childNodes[0]);
    htmlNode.innerHTML = 'this is a text';
 };

 if (window.addEventListener) {
     window.addEventListener("load", show, true);
 } else {

 }        

 window.attachEvent("onload", show);

页面加载后如何删除?通过将 JavaScript 放在页面底部?

4

4 回答 4

1

如果您保留htmlNode手柄,则您已经有了移除元素的路线。

document.body.removeChild(htmlNode);

您只需htmlNode要将变量置于函数共享的范围内,show并且您编写的函数将其删除:

var htmlNode;

var show = function () {
    htmlNode = document.createElement('DIV');
    document.body.insertBefore(htmlNode, document.body.childNodes[0]);
    htmlNode.innerHTML = 'this is a text';
};

var hide = function () {
    document.body.removeChild(htmlNode);
};

或者,你可以给它一个 id...

htmlNode = document.createElement('DIV');
htmlNode.id = 'MyElementId';
于 2012-11-14T14:08:48.700 回答
1

使用 jQuery:

$('DIV:not([id])').remove();
于 2012-11-14T14:21:40.733 回答
0

您是要删除仅此一个 DIV,还是删除任何没有 ID 的 DIV?

如果您尝试删除所有没有 ID 的 DIV,请使用 getElementsByTagName('div') 检索所有 DIV,遍历它们并检查是否缺少 ID 属性。

于 2012-11-14T14:11:28.417 回答
-1

document.body.childNodes[0].removeChild();

于 2012-11-14T14:10:30.777 回答