我有这个HTML行:
<div class="hide-btn top tip-s" original-title="Close sidebar"></div>
当用户点击它时,我希望文本更改为“打开边栏”我该怎么做?
这是我的JS:
$(".hide-btn").click(function(){
if($("#left").css("width") == "0px"){
$("#left").animate({width:"230px"}, 500);
$("#right").animate({marginLeft:"250px"}, 500);
$("#wrapper, #container").animate({backgroundPosition:"0 0"}, 500);
$(".hide-btn.top, .hide-btn.center, .hide-btn.bottom").animate({left: "223px"}, 500, function() { $(window).trigger("resize");});
}
else{
$("#left").animate({width:"0px"}, 500);
$("#right").animate({marginLeft:"20px"}, 500);
$("#wrapper, #container").animate({backgroundPosition:"-230px 0px"}, 500);
$(".hide-btn.top, .hide-btn.center, .hide-btn.bottom").animate({left: "-7px"}, 500, function() { $(window).trigger("resize");});
}
});
感谢您的时间!
答案 0 :(得分:4)
要使用jQuery更改元素的属性,请使用attr
。在与jQuery连接的事件处理程序中,原始DOM元素可用作this
。要获取jQuery包装器,请使用$(this)
。 E.g:
$(this).attr("original-title", "new text");
附注:属性original-title
对div
元素无效。请考虑使用data-*
attributes代替。
答案 1 :(得分:1)
我喜欢这样做: - )
var a = $(".hide-btn.top");
a.attr('original-title', a.attr('original-title').replace(/Close/, 'Open') );
可能看起来过于复杂,但我经常改变我对之后的确切标签的看法,这使我不得不回去调整一切。