我想替换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');
})
文字未被替换
答案 0 :(得分:1)
@BeNdErR感到悲伤,保存span
,放icon
,加回span
:
//Save the old one
var span = $('#dropdownIcon');
//Empty the div
$('.toggle-post').empty().append('<i class="icon-cheack fright"></i>').append(span);
答案 1 :(得分:0)
试试这个!
var sp = $('.toggle-post span.ui-icon-dropdown');
$('.toggle-post').html( "text to replace").append(sp);