我正在一个项目中工作,我想用jQuery创建颜色样本。 我想要完成的是:
当jQuery遇到颜色时,必须用黑色方块替换它。我希望不要丢失HTML结构,因为我需要链接。
以下是一些代码:
<dl id="narrow-by-list">
<dt class="even">Color</dt>
<dd class="even">
<ol>
<li>
<a href="http://scrapbooking.gr/default/shop.html?dropdown_color_of_product=96">Brown</a>
</li>
<li>
<a href="">Pink</a>
</li>
<li>
<a href="">Red</a>
</li>
<li>
<a href="">Yellow</a>
</li>
</ol>
</dd>
想象一下,这种情况持续很长时间,列表的其余部分不是颜色名称。所以我尝试的是:
var color = $("#narrow-by-list dd ol li a").html();
if(color=="Black"){
$(this).html("Code")
}
但令人遗憾的是,这根本不起作用。
答案 0 :(得分:2)
this
没有任何价值,而且你没有&#34; Black&#34;在您的链接列表中,尝试:
$("#narrow-by-list dd ol li a").each(function() {
var link = $(this);
if (link.text() == "Black") {
link.text('Code');
}
})
或
$("#narrow-by-list dd ol li a").filter(function() {
return $(this).text() == "Black";
}).text('Code');
刚看到你的问题是替换为div
- 如果是这种情况而不仅仅是文字,那么请将.text()
更改为.html()