js 获取Div里面a标签的onclick属性

产品哥 发布于 2013/05/27 18:28
阅读 13K+
收藏 0

js 获取Div里面a标签的onclick属性,并且改变它的值。

<div id="a">
 <a href="#" onclick="ko();">XXX</a>
</div>

我要把KO();换成 Bo(); 怎么写,还要考虑页面加载完毕。

非常感谢

加载中
0
sjunjun
sjunjun
a.onclick=Bo;
产品哥
产品哥
回复 @宋均均 : 哥们,来点真的
sjunjun
sjunjun
回复 @Andy.zhou :这是 js代码
产品哥
产品哥
这个...没看懂
0
暴走的蛇
暴走的蛇

简单啊:

<script>

window.onload=function(){

document.getElementById("给你的A标签定义一个ID").onclick=Bo();

}

</scrpt>

Bo函数你自己去定义!

暴走的蛇
暴走的蛇
回复 @Andy.zhou : getID.getTag是什么意思?没太懂,不过要说的是getElementById是根据一个元素的ID来获取一个元素如果DOM中有重复的元素只获取第一个,如果是getElementByTag的话获取的就是一组元素需要你去遍历处理的!
产品哥
产品哥
回复 @暴走的蛇 : 这个可以的 getID.getTag 是吗?
暴走的蛇
暴走的蛇
回复 @Andy.zhou : 你如果无法确定ID和NAME的话那可以确定你的那个DIV里面仅且只有一个a标签吗?
leo108
leo108
回复 @Andy.zhou : 你自己试试就知道了
产品哥
产品哥
回复 @leo108 : thanks。 这个Bo是方法,我想应该需要的吧
下一页
0
sjunjun
sjunjun
<div id="a">
        <a href="#" onclick="ko();">XXX</a>
    </div>

    <script type="text/javascript">
        var aDiv = document.getElementById('a'),
            children = aDiv.children,
            a = null;

        for (var i = 0, len = children.length; i < len; i++) {
            var item = children[i];
            //console.log(item);
            if (item.innerHTML == 'XXX') {
                a = item;
            }
        }

        //console.log(a);
        a.onclick = bo;
        function bo() {
            alert('bo');
        }
        function ko() {
            alert('ko');
        }
    </script>
产品哥
产品哥
Thanks。目测你的方法是对的
0
开源oschina
开源oschina

jquery(function(){

   var t= jquery("a").attr("onclick");

  if(t=="ko();"){

    jquery("a").attr("onclick","bo();")

    }

})

产品哥
产品哥
Thanks. 我的页面上可能不仅仅就只有一个a标签,所以这不成立的吧。
0
开源oschina
开源oschina

jquery(function(){

var t= jquery("#a a").attr("onclick");

if(t=="ko();"){

jquery("#a a").attr("onclick","bo();")

}

})

0
开源oschina
开源oschina

这样

根据div的id找a

产品哥
产品哥
就是要这个效果
0
blindcat
blindcat
为啥要这么干呢?
产品哥
产品哥
因为这个代码是组件生产的,这个是一个前台屏蔽式的破解
0
产品哥
产品哥
<div id="ko">
	<a href="#" onclick="Ao();">XXX</a>
	<script type="text/javascript">
        var aDiv = document.getElementById('ko'),
            children = aDiv.children,
            a = null;

        for (var i = 0, len = children.length; i < len; i++) {
            var item = children[i];
            //console.log(item);
            if (item.innerHTML == 'XXX') {
                a = item;
            }
        }
        a.attributes[0].nodeValue = "Bo();";
        function Ao() {
            alert('Ao');
        }
        function Bo() {
            alert('Bo');
        }
		</script>
	</div>
测试通过的代码,感谢 @ 宋均均 的代码,这是你的成果。
产品哥
产品哥
由于Safari 比较严格,a.attributes[0].nodeValue 的值是href的值,因为href在前面,所以Safari 要得到onclick的值,需要a.attributes[1].nodeValue 这样。
返回顶部
顶部