微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery-更改/在链接上添加事件

如何解决jQuery-更改/在链接上添加事件

| 我有这个链接
<a href=\"#\" onClick=\"addSide(\'1\');return false\">Link</a>
我想要,当我单击一个按钮(例如)时,该链接中addSide的值增加。如第一次单击要传递给addSide函数的按钮1,第二次单击 addSide(\'2 \'),依此类推... 因此,是否有可能通过编辑此代码并替换为
addSide(\'another_value\')
之类的方法来更改addSide函数(使用jQuery的函数)的值? 编辑 我看不清楚我的问题。所以我举一个例子:) 这是我要编辑的代码
<div class=\"trackon\" id=\"trackline\">
    <span class=\"trackbotton1\">
        <a class=\"lblueb\" href=\"#\" onClick=\"addSide(\'\');return false\">Add Side</a>
    </span>
</div>
我写了这个:
$(\'#trackline\').find(\'.trackbotton1\').children().attr(\'onclick\',\'alert(\"example\");return false\');
但是功能没有改变...     

解决方法

编辑这是基于Jimmy Sawczuk的方法,并且有效。 的HTML
<a href=\"#\" id=\"link\" onclick=\"addSide();return false\" rel=\"1\">Link</a>
<button id=\"button\">Button</button>
<div id=\"slide\">1</div>
JS
$(\'#button\').click(function() {
 var current_num = parseInt($(\'#link\').attr(\'rel\'));
 var new_num = current_num + 1;
 $(\'#link\').attr(\'rel\',new_num);
});

function addSide() {
    var n = parseInt($(\'#link\').attr(\'rel\'));
    $(\'#slide\').text(\'slide number \' + n );
}
旧答案-这行不通。
<a href=\"#\" id=\"link\" onclick=\"addSide(\'1\');return false\">Link</a>
<button id=\"button\">Button</button>

$(\'#button\').click(function() {
 var current_func = $(\'#link\').attr(\'onclick\');
 var current_func_parts  = current_func.split(\"\'\");
 var current_num = parseInt(current_func_parts[1]);
 var new_num = current_num + 1;
 var new_func = \"addSide(\'\" + new_num + \"\');return false\";
 $(\'#link\').attr(\'onclick\',new_func);
});
    ,我将使用事件绑定,如下所示:
<a href=\"javascript: void(0);\" class=\"side_adder\" rel=\"1\">Link</a>
然后,在您的JS中:
$(\'.side_adder\').click(function(evt)
{
    addSide($(this).attr(\'rel\'));
});
要更改传递的值,只需使用
$(selector).attr({\'rel\': <whatever>});
更改
rel
。     ,我建议您使用不引人注目的JavaScript。 的HTML
<a href=\"#\" class=\"canAddSide\">Link</a>
JS
var curSide=1;
$(\'.canAddSide\').click(function(event){
    addSide(curSide);
    curSide++;// increment or change the current side
    event.preventDefault();// return false;
});
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?