[英]jQuery change the text inside my <span>
我有以下html代码:
<span id="change_user_status_account-1">
SIMPLE TEXT INSIDE SPAN
</span>
<span id="change_user_status_account-2">
SIMPLE TEXT INSIDE SPAN
</span>
现在使用jQuery,我想更改<span>
标记内的文本。 但是我的代码不起作用:
$('[id^="change_user_status_account-"]').click(function () {
var id = $(this).attr('id').split('-');
alert(id[1]);
$("change_user_status_account-" + id[1]).html('OK CHANGED');
});
此代码中的alert()
返回1
或2
,但FireBug
上没有任何错误
使用$(this)
。 事件处理程序中的$(this)
指发生事件的元素。
$('[id^="change_user_status_account-"]').click(function () {
$(this).text('changed');
});
我建议在两个元素上都使用一个通用类,并使用类来绑定事件。
$('.sample').on('click', function() { $(this).text(+new Date()); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> <span class="sample"> SIMPLE TEXT INSIDE SPAN </span> <span class="sample"> SIMPLE TEXT INSIDE SPAN </span>
您在选择器中缺少#
它应该是
$("#change_user_status_account-" + id[1]).html('OK CHANGED');
或尝试
$('[id^="change_user_status_account-"]').click(function () {
$(this).html('OK CHANGED');
});
在您的id
前加#
$('[id^="change_user_status_account-"]').click(function () {
var id = $(this).attr('id').split('-');
alert(id[1]);
$("#change_user_status_account-"+id[1]).html('OK CHANGED');
});
或者只是做
$('[id^="change_user_status_account-"]').click(function () {
$(this).html('OK CHANGED');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.