0

我有一些 id 以 . 开头的锚链接"menu-"

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

在我的 jquery 代码中,我只想在之后使用锚链接的 idmenu-

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

$(this)需要所有的身份证。我只想要后面的单词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 回答