2011-10-27 17 views
0

我希望能夠將class =「st_sharethis」添加到菜單鏈接:將此網頁推薦給朋友http://www.easyspacedesign.com/fh/ConnectBell_/。沒有辦法將特定的類或id添加到我們使用的cms中的菜單鏈接,因此將不得不使用jquery來完成它。jquery如何根據它包含的文本添加一個類來跨越一個dl?

所以我必須根據標籤內的span標籤內的文字來做。

到目前爲止,我曾嘗試:

$('.main_menu span:contains("Tell A Friend")').attr('class','st_sharethis'); 

    $('.main_menu span').each(function() 
    { 
    if ($(this).text() == "Tell A Friend") 
    $(this).attr('id','rev3'); 
    } 

沒有工作過。

+0

您有錯誤 –

+0

您是否碰到了目標?如果它是一個標籤內的跨度,那麼jQuery選擇器中的標籤在哪裏。嘗試一些簡單的方法,例如更改文本顏色以查明是否擊中目標,或者在最後一個示例中嘗試提醒返回的文本,以確定它實際上是檢查相等性的文本。另一個選擇是在這裏發佈HTML,這樣可以更加明確地幫助你,而不僅僅是一些一般的考慮。最後一個例子是在if語句中缺少字符,根本不起作用,並且不確定是否可以使用像這樣的包含。 – adeneo

回答

0

也能正常工作爲您的標記:

$('#menu span:contains("Tell A Friend")') 
      .addClass('st_sharethis') 
      .attr('id','rev3'); 

活生生的例子:http://jsfiddle.net/ydFFR/

0

如果這個菜單項將永遠是最新的一個:

$('#menu dl dt:last a').addClass('myclass'); 

此外,你必須在這個菜單項特定類last,所以您可以:

$('dt.last').addClass('myClass'); 

,或者就測試內容的鏈接:

$('#menu dl dt a span:contains("Tell A Friend")').parent().addClass('myClass'); 
0

以下內容向類中添加了一個類和id。

$('.main_menu span:contains("Tell A Friend")') 
    .addClass('st_sharethis') 
    .attr('id', 'rev3'); 
0

你的代碼很好,你只需要添加一個「);」最後!

$('.main_menu span:contains("Tell A Friend")').attr('class','st_sharethis'); 

    $('.main_menu span').each(function() 
    { 
    if ($(this).text() == "Tell A Friend") 
    $(this).attr('id','rev3'); 
    } 
); // ADD this line ! 

但是,當然,這將是最好只鏈命令:

$('.main_menu span:contains("Tell A Friend")') 
    .attr('class','st_sharethis') 
    .attr('id','rev3'); 
+0

那麼如果陳述爲你工作,你是否測試了這個? – adeneo

+0

是的,我測試了這個,它被解釋爲內聯'if'(在javascript中\ n字符無關緊要) –

+0

Doh!與): – user794846

0

如果它的最後一個,試試

$('a.main_menu.last').find('span').addClass('st_sharethis'); 
相關問題