检查列表中的特定值以及是否找到替换为div

时间:2014-12-05 14:38:41

标签: jquery html

我正在一个项目中工作,我想用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")
}

但令人遗憾的是,这根本不起作用。

1 个答案:

答案 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');

Example

刚看到你的问题是替换为div - 如果是这种情况而不仅仅是文字,那么请将.text()更改为.html()