2011-10-27 11 views
0

メニューリンクにclass = "st_sharethis"を追加したいと思っています。このサイトの友達に教えてくださいhttp://www.easyspacedesign.com/fh/ConnectBell_/。使用するCMSのメニューリンクに特定のクラスまたはIDを追加する方法はありません。そのため、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

あなたはあなたの目標をまったく打っていますか?それがaタグ内のスパンである場合、jQueryセレクタ内のaタグはどこですか。あなたのターゲットに当たったかどうかを調べるためにテキストの色を変えるか、最後の例で返されたテキストに実際にテキストが等しいかどうかを確認してみてください。もう1つの選択肢は、ここに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'として解釈されます(\ n文字はjavascriptでは重要ではありません) –

+0

Doh!とともに ): – user794846

0

の場合最後、試してみてください

関連する問題