tom*_*mes 2 html javascript html5
给定来自dom的HTML节点,我需要删除所有内联事件处理程序/属性,例如:onclick,onmouseover,onmousedown等。
我知道:
document.getElementById("some_id").attributes
Run Code Online (Sandbox Code Playgroud)
返回所有属性,我可以消除一些属性,但是还有一些属性,例如:id,class,name等。
如何区分这两种类型的属性?
也可以选择完全不同的方法来解决问题。
编辑:我试图仅删除内联事件,并且我还需要在删除之前将它们“保存”到其他位置,所以克隆以完全处置不是一个选择
在这里,您得到了所有内容element attributes,制作了一个em 数组,检查是否有attribute以开头的循环on。
然后object使用name/valuethat inline event handler,将push其放入array,最后将其从节点中删除:
var el = document.getElementById("button1");
var listOfEvents=[];
var attributes = [].slice.call(el.attributes);
for (i = 0; i < attributes.length; i++){
var att= attributes[i].name;
if(att.indexOf("on")===0){
var eventHandlers={};
eventHandlers.attribute=attributes[i].name;
eventHandlers.value=attributes[i].value;
listOfEvents.push(eventHandlers);
el.attributes.removeNamedItem(att);
}
}
Run Code Online (Sandbox Code Playgroud)
检查以下代码段
var el = document.getElementById("button1");
var listOfEvents=[];
var attributes = [].slice.call(el.attributes);
for (i = 0; i < attributes.length; i++){
var att= attributes[i].name;
if(att.indexOf("on")===0){
var eventHandlers={};
eventHandlers.attribute=attributes[i].name;
eventHandlers.value=attributes[i].value;
listOfEvents.push(eventHandlers);
el.attributes.removeNamedItem(att);
}
}
Run Code Online (Sandbox Code Playgroud)
var el = document.getElementById("button1");
var listOfEvents = [];
var attributes = [].slice.call(el.attributes);
for (i = 0; i < attributes.length; i++) {
var att = attributes[i].name;
if (att.indexOf("on") === 0) {
console.log(att);
var eventHandlers = {};
eventHandlers.attribute = attributes[i].name;
eventHandlers.value = attributes[i].value;
listOfEvents.push(eventHandlers);
el.attributes.removeNamedItem(att);
}
}
console.log(listOfEvents);
/* logs [[object Object] {
attribute: "onmousedown",
value: "mouseDown();"
}, [object Object] {
attribute: "onmouseup",
value: "mouseUp();"
}, [object Object] {
attribute: "onclick",
value: "doSomething(this);"
}] */Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
650 次 |
| 最近记录: |