gpt4 book ai didi

javascript - 查找动态创建的div

转载 作者:行者123 更新时间:2023-12-02 20:00:52 24 4
gpt4 key购买 nike

我想更改动态创建的 div但我无法让它工作它不断创建新的 div

var div = document.getElementById('windowx');
var btn;
var doc = content.document

if (div)
{
div = document.getElementById('windowx')
div.innerHTML = "something new"
}
else
{
doc = content.document
div = doc.body.appendChild(doc.createElement("div"))
div.setAttribute("id", "windowx")
div.setAttribute("style",
"position: fixed; top: 100px; left: 100px; width: 20em;"
+ "border: 2px outset orange; background-color: cornsilk;"
)
btn = div.appendChild(doc.createElement("button"))
btn.setAttribute("style", "position: absolute; bottom: 1ex; right: 1ex;")
btn.setAttribute("onclick", "document.body.removeChild(this.parentNode)")
btn.appendChild(doc.createTextNode("Zamknij"))
}

最佳答案

现在很明显它是针对 Firefox 插件的:

document.getElementById 将在浏览器 UI 中搜索该元素,而不是网页。但稍后您将该元素添加到页面。因此,您必须在页面中搜索该元素:

var div = content.document.getElementById('windowx');

此外,您还进行了一些不必要的方法调用。这是代码的更简洁版本:

var doc = content.document,
div = doc.getElementById('windowx'),
btn;

if (div) {
div.innerHTML = "something new"
}
else {
div = doc.body.appendChild(doc.createElement("div"))
div.setAttribute("id", "windowx")
div.setAttribute("style",
"position: fixed; top: 100px; left: 100px; width: 20em;"
+ "border: 2px outset orange; background-color: cornsilk;"
)
btn = div.appendChild(doc.createElement("button"))
btn.setAttribute("style", "position: absolute; bottom: 1ex; right: 1ex;")
btn.setAttribute("onclick", "document.body.removeChild(this.parentNode)")
btn.appendChild(doc.createTextNode("Zamknij"))
}

关于javascript - 查找动态创建的div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8021315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com