jquery attr只编辑第一个

时间:2017-06-01 09:38:38

标签: javascript jquery

<a class="buttonright" onclick="ZZZZ('f')">Post</a>

<a class="buttonright" onclick="sssss('ZZZZ')">Post</a>

$(".buttonright").attr("onclick","new_function_name()");

如何仅限编辑?

2 个答案:

答案 0 :(得分:1)

您需要使用 jQuery :first Selector,如下所示: -

&#13;
&#13;
$("a.buttonright:first").attr("onclick","new_function_name()");

//now click the first link and check that this function is executed or not?
function new_function_name(){
 alert("hello it worked!");
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="buttonright" onclick="ZZZZ('f')">Post</a>

<a class="buttonright" onclick="sssss('ZZZZ')">Post</a>
&#13;
&#13;
&#13;

参考: - :first Selector

答案 1 :(得分:1)

这是因为您正在使用类名 - 类是可以应用于多个元素的常规属性。在您的情况下,您的函数针对具有类buttonright的所有内容,然后应用attr值。

像这样(或类似)分配id:

<a href="" id="link1" class="buttonright" onclick="ZZZZ('f')">Post</a>
<a href="" id="link2" class="buttonright" onclick="sssss('ZZZZ')">Post</a>

然后在你的js:

$('#link1').attr('onclick', 'new_function_name()');

但是我建议你不要使用内联js,这是不好的做法,导致难以维护代码。