innerHTML属性改变后,之前用setAttribute设置的事件响应失效的问题
----------------------------------------------------------
<div id="d">
<table>
<tr>
<td id="t">aaa</td>
</tr>
</table>
</div>
<script language="javascript">
t.setAttribute("onmouseover", function() {alert("a")});
alert(t.onmouseover);
str = "";
d.innerHTML += str;
alert(t.onmouseover);
</script>
----------------------------------------------------------
程序中d.innerHTML += str一句操作了innerHTML属性以后,那个td之前用setAttribute方法设置的onmouseover响应函数的就失效了,第二个alert出来是null。不知道是什么原因,有没有什么解决办法,请各位指教,谢谢!
相关推荐
通过js动态创建标签,并设置属性方法
当我们在写jsp页面时,往往会遇到这种情况:从后台获取的数据个数不确定,此时在前端写jsp页面时也就不确定怎么设计了。这个时候就需要通过js动态创建标签: 1.创建某个标签:如下在body中创建一个div的事例; [removed] function fun(){ var frameDiv = document.createElement("div");//创建一个标签 var bodyFa = document.getElementById("bodyid");//通过id号获取frameDiv 的父类(也就是上一级的节点) bodyFa .appendChild(frameDiv)
js 动态添加元素(div、li、img等)及设置属性的方法
把一串 html 标签赋给一个 javascript 变量,除属性的值要用转义的双引号外,某些时候字符串还很长,显得有些复杂。如果用 js 动态添加元素,就不会有那么复杂的字符串出现,代码阅读性强一点,也容易理解。 网页是由 html 标签一层层组成的,js 也可以动态添加一层层的诸如 div、li、img 这样的标签。其实,不管是什么 html 标签,js 动态创建的方法都差不多,接着就先从动态添加 div 开始。 一、js 动态添加元素div <div id=parent></div> function addElementDiv(obj) { var parent =
javascript 三种方法实现获得和设置以及移除元素属性
获得和设置以及移除元素属性在操作dom的过程中会经常遇到吧,为了提高工作的效率本文整理了一些快捷操作方法和大家一起分享,感兴趣的朋友可以参考下哈
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
如设置class属性 代码如下:el.setAttribute(‘class’, ‘abc’); 在IE6/7中样式“abc”将没有起作用,虽然使用el.getAttribute(‘class’)能取到值“abc”。 又如for属性 代码如下: <label>姓名:</label><input type=”checkbox” id=”name”/> [removed] var lab = document.getElementsByTagName(‘label’)[0]; lab.setAttribute(‘for’, ‘name’); [removed] 我们知道当lab设置了for属
用JS动态设置CSS样式常见方法小结(推荐)
本文给大家总结了js动态设置css样式的常见方法,非常实用,对js设置css样式相关知识感兴趣的朋友一起学习吧


