dom.setAttribute
时间: 2024-06-12 11:11:24 浏览: 6
`dom.setAttribute` 是一个 DOM API,用于设置指定元素的属性值。它接受两个参数,第一个参数是要设置属性的名称,第二个参数是要设置的属性值。例如,`dom.setAttribute('class', 'my-class')` 将会给指定元素设置一个名为 `class` 的属性,并将其值设置为 `my-class`。
相关问题
通过dom.setAttribute("contenteditable",true)这种方式设置的contenteditable属性的div不能绑定input事件
是的,通过`setAttribute`设置的`contenteditable`属性的`div`不能绑定`input`事件。因为`input`事件是针对表单元素的,而`div`并不是表单元素。如果想要监听`contenteditable`属性的改变,可以使用`DOMSubtreeModified`事件或`MutationObserver`来监听。例如:
```javascript
const div = document.getElementById('editableDiv');
div.addEventListener('DOMSubtreeModified', function() {
console.log('Content changed!');
});
// 或者使用 MutationObserver
const observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
console.log(mutation.type);
});
});
const config = { attributes: true, childList: true, characterData: true };
observer.observe(div, config);
```
let dom; if(!document.getElementById("printContent")){ dom = document.createElement("div"); dom.setAttribute("id", "printContent") }
这段代码的作用是创建一个 `div` 元素,并给它设置 `id` 为 `printContent`。如果页面中已经存在 `id` 为 `printContent` 的元素,则不会再创建一个新的元素。
这段代码的完整意思是:如果页面中不存在 `id` 为 `printContent` 的元素,则创建一个 `div` 元素,并将它的 `id` 设置为 `printContent`,并将这个元素赋值给变量 `dom`;如果页面中已经存在 `id` 为 `printContent` 的元素,则直接将这个元素赋值给变量 `dom`。