var oFra = document.createDocumentFragment();
// oFra.[add elements];
document.createElement("div").id="myId";
oFra.getElementById("myId"); //not in FF
在将片段附加到文档之前如何获取“myId”?
最佳答案
所有这些答案都相当古老,从 querySelectorAll
开始。和 querySelector
没有被广泛使用。需要注意的是,这两个接受 CSS 选择器作为参数的函数在 DocumentFragment
上工作。 s 在现代浏览器中,并且应该是处理问题中情况的首选方式。一些答案中提出的替代解决方案对于不支持 querySelectorAll
的旧版浏览器来说是一个很好的方法。或 querySelector
.
这是一个示例用法:
var df = document.createDocumentFragment();
var div = document.createElement('div');
div.id = 'foo';
df.appendChild(div);
var result = df.querySelector('#foo'); // result contains the div element
一个好的实现应该首先使用对象检测来查看浏览器是否支持这一点。例如:
function getElementByIdInFragment(fragment, id) {
if (fragment.querySelector) {
return fragment.querySelector('#' + id);
} else {
// your custom implementation here
}
}
关于javascript - 有没有办法在 documentFragment 中找到元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1643349/