Javascript 仅某些 类 的 contentEditable
Javascript contentEditable of certain classes only
我有以下脚本可以使 HTML 页面可编辑
document.body.contentEditable = 'true'; document.designMode='on';
我只想允许我的用户编辑 class 为“编辑”的部分。这可能吗?
是的,这是可能的。
let el_array = document.getElementsByClassName('edit');
然后循环 el_array 并将其应用于每个元素 el.contentEditable = true;
您可以尝试找到名称为 class 'edit' 的所有元素,然后像下面那样将它们全部改掉。
document.querySelectorAll('.edit').forEach(function(element){
element.contentEditable = 'true';
})
是的,这是可能的,只需 运行 对所有元素进行简单的循环编辑 class 并为它们提供 contentEditable true
[...document.getElementsByClassName("edit")].forEach(
el => el.contentEditable = "true"
);
就这些!
编辑:正如 harry 在评论中提到的:forEach 不适用于 htmlCollection 对象,因此您必须使用 [...theHTMLCollection]
将其转换为数组
function edit_content(){
document.querySelectorAll('.myP').forEach(function(ele){
ele.contentEditable = 'true';
})
}
<p class="myP">
abcdefghijklmnop
</p>
<button onclick="edit_content()">
Click to edit
</button>
你可以做到。首先,select DOM 中的所有 类 by querySelectorAll
然后从 forEach
循环迭代它。
我有以下脚本可以使 HTML 页面可编辑
document.body.contentEditable = 'true'; document.designMode='on';
我只想允许我的用户编辑 class 为“编辑”的部分。这可能吗?
是的,这是可能的。
let el_array = document.getElementsByClassName('edit');
然后循环 el_array 并将其应用于每个元素 el.contentEditable = true;
您可以尝试找到名称为 class 'edit' 的所有元素,然后像下面那样将它们全部改掉。
document.querySelectorAll('.edit').forEach(function(element){
element.contentEditable = 'true';
})
是的,这是可能的,只需 运行 对所有元素进行简单的循环编辑 class 并为它们提供 contentEditable true
[...document.getElementsByClassName("edit")].forEach(
el => el.contentEditable = "true"
);
就这些!
编辑:正如 harry 在评论中提到的:forEach 不适用于 htmlCollection 对象,因此您必须使用 [...theHTMLCollection]
将其转换为数组function edit_content(){
document.querySelectorAll('.myP').forEach(function(ele){
ele.contentEditable = 'true';
})
}
<p class="myP">
abcdefghijklmnop
</p>
<button onclick="edit_content()">
Click to edit
</button>
你可以做到。首先,select DOM 中的所有 类 by querySelectorAll
然后从 forEach
循环迭代它。