今天做一个demo,遇到修改父节点的class,先看html:
<span style="font-size: 100%;">
(
{% if follow_flag %}
<a class="unfollow" href="#">
<span id="follow_txt">unfollow</span>
</a>
{% else %}
<a class="follow" href="#">
<span id="follow_txt">follow</span>
</a>
{% endif %}
)
</span>
$(document).ready里添加 当a.follow的点击处理函数:
$('a.follow').click(function(){
/***向后台发起请求***/
// 请求生成后立即分配处理程序,请记住该请求针对 jqxhr 对象
var jqxhr = $.get("/kidcrate/add_follow",{followed_user_id:'{{followed_user_id}}'},function(result) {
var obj = jQuery.parseJSON(result);
alert(obj.echo_msg);
$("#follow_txt").html("unfollow");
$('#follow_txt').parent().attr('class')="unfollow";
});
});
大概操作,就是当点击了 follow 之后,我把它的parent的class变成unfollow;
结果就报错:ReferenceError: Invalid left-hand side in assignment
如果你在console里打印下面语句
$('#follow_txt').parent().attr('class')=="unfollow";
返回true,明白了不能赋值操作。
那就麻烦一点吧,先removeClass(),然后addClass("unfollow")就成了.
本文探讨了一个在动态HTML中修改类名时遇到的JavaScript错误,并提供了解决方法。通过实例展示如何正确地使用jQuery来修改父元素的类名,避免了常见的赋值错误。同时,解释了为什么打印语句能够正确返回结果,而实际应用中却无法赋值的原因。
4407

被折叠的 条评论
为什么被折叠?



