【发布时间】:2015-02-21 17:19:48
【问题描述】:
我想替换 div 的整个文本,但不删除其中的 span。
一旦用户单击ul 中的某个元素,我必须替换以下 div(“Yourself”)中的文本:
<div style="display: inline">
<div class="text-light" style="float: left">Post as: </div>
<div class="link toggle-post" style="float: right" >
Yourself
<span id="dropdownIcon" class="ui-icon-dropdown"></span>
</div>
</div>
我正在使用以下代码:
$('[data-postas]').click(function changeHeader(event){
var element = $(event.srcElement);
$('.toggle-post').text().replace($('.toggle-post').text(), element.text());
$('#postAs').val(element.attr('data-postas'));
if (element.attr('data-company')){
$('#company').val(element.attr('data-company'));
}
$('.icon-cheack').remove();
element.append('<i class="icon-cheack fright"></i>');
setTimeout(function() {
$(".ul-post").toggle();
}, 500);
$('#dropdownIcon').addClass('ui-icon-dropdown');
})
文本没有被替换
【问题讨论】:
-
在替换整个 div 内容之前保存 span 的引用,然后重新附加 span
-
另一个想法是将“你自己”放入一个单独的
<span>,这样你就可以删除那个内容。
标签: javascript jquery text replace