我的页面上的按钮数量是动态创建的,因此添加一个ID属性,但不是很理想。我当然也不想添加一个类,因为附加同一个类(按钮是在PHP循环中生成的)会影响它们。
这就是我的意思。
所有按钮中都包含<button><span>View</span><br />One</button>
<button><span>View</span><br />Two</button>
<button><span>View</span><br />Three</button>
字样。
$("button").click(function() {
$("button span").html($("button span").html() == 'View' ? 'Hide' : 'View');
});
使用这个jQuery函数,我能够更改单个单词(而不是我之前失败的实验所显示的整个按钮文本)。
View
但是这个脚本正在使用单词{{1}}更改所有按钮的值。
我如何修改(或使用不同的方法),只针对点击的按钮,而不是所有按钮(如我所说,最好不添加ID属性)。
JSFiddle:https://jsfiddle.net/jpb1a674/1/
答案 0 :(得分:3)
使用this
。在事件内部,它引用了引发事件的元素。
$("button").click(function() {
var span = $(this).children().first();
span.html(span.html() == 'View' ? 'Hide' : 'View');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button><span>View</span><br />One</button>
<button><span>View</span><br />Two</button>
<button><span>View</span><br />Three</button>