我想查询选定容器中的所有内容。
container = document.querySelector('[data-container]')
我还有一个包含值的变量
。
如果子元素有一个value
属性(比如inputs)
child.value = variable
如果不是,像 'p', 'div' 使用:
child.innerHTML = variable
如何检查元素/类型属性?
我需要一个标签一个标签地检查,还是更一般的东西?
最佳答案
您可以使用更通用的东西:in
:它检查对象(或其原型(prototype))上是否存在属性:
if ("value" in element) {
// use value
} else {
// Use innerHTML or textContent, etc.
}
例子:
var container = document.querySelector("[data-container]");
var children = container.children;
for (var n = 0; n < children.length; ++n) {
var element = children[n];
var hasValue = "value" in element;
console.log(element.tagName, hasValue ? "has value" : "doesn't have value");
}
<div data-container>
<p>Paragraph</p>
<input type="text">
</div>
关于javascript - 检查 DOM 元素类型/属性以将值分配给 innerHTML 或值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51704644/