0

idが。で始まるアンカーリンクがいくつかあります"menu-"

<a href="" id="menu-alphabetic">
<a href="" id="menu-city">
<a href="" id="menu-country">

私のjqueryコードでは、アンカーリンクのIDのみを取得したいmenu-

For example:
$("a[id^=menu-]").click(function(){
   e.preventDefault();
   $(this).tab('show');
});  

しかし$(this)、すべてのIDを取ります。後に続く単語だけが欲しいmenu-

4

3 に答える 3

3

使用する.split()

$("a[id^=menu-]").click(function(){
   e.preventDefault();

   $('#' + this.id.split('-')[1]).tab('show');
}); 

また、HTMLが適切に形成されていません。

<a href="" id="menu-alphabetic">menu-alphabetic</a>
<a href="" id="menu-city">menu-city</a>
<a href="" id="menu-country">menu-country</a>

フィドルをチェック

于 2012-11-01T21:07:07.413 に答える
1

私はあなたがのようなものが欲しいと思います

$("#" + this.id.replace('menu-', '')).tab('show');
于 2012-11-01T21:07:30.940 に答える
1

属性の値を取得してidから、結果の文字列を解析して目的の結果を取得する必要があります。あなたの特定の問題から、これは次のようなもので行われます:

$("a[id^=menu-]").click(function(e){
    e.preventDefault();

    var raw_title = $(this).attr('id');
    raw_title = raw_title.replace('menu-','');

    // outputs whatever is after 'menu-' in the id attribute
    console.log(raw_title);       

    //$(this).tab('show');
});  ​

私が作ったこのjsFiddleで実際に動作しているのを見ることができます。

于 2012-11-01T21:21:25.223 に答える