$('button').click(function(){ $(this).prev('label').append('<b>ed</b>').text('Press');
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>Click<b>ed</b></label>
<button>Here</button>
&#13;
我想保留元素<b></b>
或现有的任何元素更改.text()
我试图处理的步骤如下
.append('<b>ed</b>')
首先我添加了新元素<b>
;
在添加新元素后,我将文本更改为 Press
.text('Press');
我尝试做的是复制添加的<b>ed</b>
元素,然后更改文字.text('Press');
,然后在更改text()
后重新添加
所以它会像
var element = $(this).prev('label').clone('b');
$(this).prev('label').append('<b>ed</b>').text('Press'+element+'');
问题我一直得到元素值= [Object object]
答案 0 :(得分:3)
只需使用domain: 'mydevdomain.com'
方法,即可将所需文字显示为 HTML 。
.html()
$('button').click(function(){ $(this).prev('label').html('Press<b>ed</b>');
})
另一种解决方案:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>Click<b>ed</b></label>
<button>Here</button>
答案 1 :(得分:2)
以下是使用.text()和.append()的示例。请注意,.text()
将完整替换元素的内容,因此最后使用.append()
非常重要。
$('button').on('click', function() {
var boldedElem = $(this).prev('label').find('b');
$(this).prev('label').text('Press').append(boldedElem);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>Click<b>ed</b></label>
<button>Here</button>
&#13;
答案 2 :(得分:2)
要访问文本部分,您需要使用.contents()
有关详细信息,请参阅this answer and comments。
$("#x").append("<b> pressed</b>")
.contents().filter(function(){return this.nodeType == 3;}).first()
.replaceWith("well done");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='x'>Press</div>
&#13;
答案 3 :(得分:1)
查找此标签中的所有<b>
,选择最后一个并使用html()
修改其内容
$('button').click(function(){
var label = $(this).prev('label');
label.find('b').last().html('Press');
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>Click<b>ed</b></label>
<button>Here</button>