我尝试更改span标记内的部分文本 我试过这个:
<script>
$(document).ready(function(){
var toreplace= $(".poly-items__price span");
toreplace = toreplace.replace("change","<p>new text</p>");
$(".poly-items__price span").html(toreplace);
});
</script>
这是一个html:
<div class="poly-items__price">
<span>do not change change</span>
</div>
这是我使用的一个例子: http://jsfiddle.net/Scoobler/a9cvx/4/, http://jsfiddle.net/bwhfD/
但它不起作用 你能告诉我我错过了什么吗? 感谢
答案 0 :(得分:3)
要从$(".poly-items__price span")
获取文字,需要致电.text()
(如果您关心内部的html标签,则需要.html()
)
$(document).ready(function(){
var toreplace= $(".poly-items__price span").text();
toreplace = toreplace.replace("change","<p>new text</p>");
$(".poly-items__price span").html(toreplace);
});
如果您想要替换所有“更改”使用:
toreplace = toreplace.replace(/change/g,"<p>new text</p>");
这里有一些小提琴http://jsfiddle.net/qsbdg4po/1
如果您有多个.poly-items__price
跨度,请使用每个循环:
$('.poly-items__price span').each(function() {
var toreplace = $(this).html();
toreplace = toreplace.replace("change","<p>new text</p>");
$(this).html(toreplace);
});
答案 1 :(得分:2)
您还可以将函数传递给jQuery.html
$config['sess_save_path'] = 'writable absolute path';
$(document).ready(function(){
$(".poly-items__price span").html(function() {
return $(this).html().replace("change","<p>new text</p>");
});
});
答案 2 :(得分:1)
试试这个
您还可以使用$(toreplace).find("span").html(str);
替换span的内容
$(document).ready(function(){
var toreplace= $(".poly-items__price");
var str = $(toreplace).find("span").text().replace("change","<p>new text</p>");
$(toreplace).find("span").text(str);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="poly-items__price">
<span>do not change</span>
</div>
&#13;
答案 3 :(得分:-1)
试试这个
<script>
$(document).ready(function(){
var toreplace= $(".poly-items__price span").html();
toreplace = toreplace.replace("change","<p>new text</p>");
$(".poly-items__price span").html(toreplace);
});
</script>
<div class="poly-items__price">
<span>do not change change</span>
</div>