我们如何通过jquery中的.attr()更改onclick函数?

时间:2010-08-30 23:13:06

标签: javascript jquery

我有这个网址

<a class="remove_item' rel="4" onclick="javascript:jQuery(#blablabla)" href="javascript:;' >remove</a> 

我正在使用这个简单的查找和替换

item.find('a.remove_class').attr({
title:'hello',
click:'hello();'
} );

但它似乎无法正常工作。我仍然无法用另一个函数替换javascript:#Query(#blablabla)。

5 个答案:

答案 0 :(得分:3)

要设置onClick,您应该使用类似$("a").attr("onclick", js);

的内容

其中js是包含您的javascript代码的字符串。

答案 1 :(得分:3)

尝试使用页面正文中的以下代码段附加事件处理程序:

<script type="text/javascript" language="javascript">
    $(document).ready(function() {
        $('.remove_item').click(hello);
    });
</script>

答案 2 :(得分:2)

为什么不这样做呢。

<script type="text/javascript">
    $(document).ready(function() {
        $("a.remove_item").click(function() {
            alert("You have clicked my <a>!!");
            //do other stuff
        });
    });
</script>

答案 3 :(得分:2)

jQuery没有以这种方式分配事件处理程序的内置方法。使用DOM0方法来设置onclick处理程序:

item.find('a.remove_class').each(function() {
    this.onclick = function() {
        alert("Clicked!");
    };
});

另外,不要将javascript:放在事件处理程序属性中。这是不正确的,只能巧合。

答案 4 :(得分:1)

attr不识别onclick属性,获取html元素(.get(0))并使用“raw”函数来提取onclick属性。

Firefox 上,以下作品:

$("element").get(0).getAttribute("onclick")

您可以使用

删除
$("element").get(0).removeAttribute("onclick")

或设置空字符串

$("element").get(0).setAttribute("onclick", "")