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;
});
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...