我需要更改链接中的文字,点击“打开”到“关闭”。
<a href="#" id="clickMe"><span class="A open"></span>open</a>
但是,在成功运行AJAX功能后如何更改标签?
success: function(){
$("#clickMe").find("span").toggleClass("open close");
// toggle label
}
答案 0 :(得分:2)
如果要更改文本,可以使用.html()
方法:
$("#clickMe").html("<span class=\"close\"></span>close");
如果你想保持span
不受影响:
$('#clickMe').contents().filter(function() {
return this.nodeType == 3;
}).replaceWith('close');
答案 1 :(得分:2)
您可以使用contents()
和正确的索引来修改实际的TextNode内容:
var s = $("#clickMe").find("span").toggleClass("open close").attr('class');
s = s.replace("A","").replace(" ",""); // get rid of the other class for the text to be used
$("#clickMe").contents()[1].nodeValue = s;
或同一行:
$("#clickMe").contents()[1].nodeValue = $("#clickMe").find("span").toggleClass("open close").attr('class').replace("A","").replace(" ","");
修改强>
如果您想使用除课程名称之外的其他文本,您可以这样做:
$('button').click(function(){
var s = $("#clickMe").find("span").toggleClass("open close").hasClass('open');
if (s) s = "Open text";
else s = "Closed text";
$("#clickMe").contents()[1].nodeValue = s;
});
示例:http://jsfiddle.net/niklasvh/ULsx4/13/
示例(1):http://jsfiddle.net/niklasvh/ULsx4/&amp;单行:http://jsfiddle.net/niklasvh/ULsx4/12/
答案 2 :(得分:0)
尝试
$("#clickMe span").text("my text")
答案 3 :(得分:0)
$('#clickMe').contents().filter(function() {
return this.nodeType == 3;
}).get(0).nodeValue = 'Hello';