我想更改outerHTML,这就是我所做的:
$(data.description)[0].outerHTML = $(data.description)[0].outerHTML.replace('red', 'black');
值为:
$(data.description)[0].outerHTML: "<p style="color: red;">desc1</p>"
它不会改变。如何改变?
data.description有这个值:
<p style="color: red;">desc1</p><p style="color: red;">desc2</p>
我只想改变$(data.description)[0]。
以下是我的全部代码:
var ingsLines = $(data.description);
for (var i =0; i < ingsLines.length; i++) {
if (someCondition) {
$(data.description).eq(i).css('color', 'black');
}
}
try{$('#myTextarea').html(data.description);}catch(err){}
代码更改了值,它将黑色而不是红色,但data.description保持红色。
答案 0 :(得分:1)
使用
$(data.description).replaceWith(function(){
return this.outerHTML.replace('red', 'black')
});
如果您只想更改第一个,可以使用:
$(data.description).eq(0).replaceWith(function(){
return this.outerHTML.replace('red', 'black')
});
答案 1 :(得分:1)
如果要更改第一个元素的颜色属性,可以使用css
和eq
方法:
$(data.description).eq(0).css('color', 'black');