2014-12-05 42 views
0

我在一个项目工作代替,我想创建一个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

什么是'$(本)'? – Brewal 2014-12-05 14:45:26

+0

不能明白你想达到的目标。 – 2014-12-05 14:47:05

回答

2

this没有价值,你也有你的链接列表中没有 “黑”,尝试:

$("#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()

+1

非常感谢你,先生。 – Leonidas 2014-12-05 15:06:20