2017-08-27 59 views
1

我使用WordPress,所以我只能通过自定义JS更改HTML。更改锚文本,同时保持FontAwesome图标内嵌

这是HTML

<li class="submit-listing"><a href="http://localhost/proficientlink/post-your-ad/"><i class="fa fa-plus"></i> Submit Listing</a></li> 

我已经尝试过所有这些:

$(".submit-listing a").html("<i class="fa fa-plus"></i> Post You Ad"); 

$(".submit-listing a").html(function(){ 
$(this).find("i").addClass("fa fa-plus"); 
this.nodeValue = "Post Your Ad"; 
}); 

但这些工作。我也试过这个:How can I get, manipulate and replace a text node using jQuery?,但似乎没有任何与我一起工作。

无论如何。

+0

欢迎堆栈溢出。我很高兴你能解决你的问题。请参阅[当某人回答我的问题时该怎么办?](https://stackoverflow.com/help/someone-answers)并考虑接受下面的答案之一,以便该问题在网站上被标记为已解决。 – FluffyKitten

回答

0

使用replace作品:

$('.submit-listing a').html(function (i, el) { 
    return el.replace('Submit Listing', 'Post your ad'); 
}); 

DEMO

+1

试过了!它工作得很好:)再次感谢安迪:) – crosse

0

你的代码应该是第一行,

$(".submit-listing a").html("<i class='fa fa-plus'></i> Post You Ad"); 

更改双引号为单引号,因为JavaScript将它们视为关闭的字符串。

+0

谢谢! :)我会尝试在这里更新,如果它的工作。 :) – crosse

+0

仍然没有工作。 :( – crosse

+0

我实际上有其他方式引用fwiw:'$('。submit-listing a')。html(' Post You Ad');'这样的HTML看起来像HTML。 – Andy