3

我想更改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 保持红色。

4

2 回答 2

1

采用

$(data.description).replaceWith(function(){
    return this.outerHTML.replace('red', 'black')
});

示范

如果你只想改变第一个,你可以使用这个:

$(data.description).eq(0).replaceWith(function(){
    return this.outerHTML.replace('red', 'black')
});
于 2012-10-30T10:09:16.170 回答
1

如果要更改第一个元素的颜色属性,可以使用cssandeq 方法:

$(data.description).eq(0).css('color', 'black');
于 2012-10-30T10:09:19.633 回答