有没有办法只在jquery中取一部分字符串?

时间:2012-11-01 21:05:13

标签: jquery

我有一些锚链接,其id已从"menu-"开始。

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

在我的jquery代码中,我想在menu-

之后只获取锚链接ID
For example:
$("a[id^=menu-]").click(function(){
   e.preventDefault();
   $(this).tab('show');
});  

但是$(this)占用了所有内容。我只想要menu-之后的单词。

3 个答案:

答案 0 :(得分: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>

<强> Check Fiddle

答案 1 :(得分:1)

我想你想要像

这样的东西
$("#" + this.id.replace('menu-', '')).tab('show');

答案 2 :(得分: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中看到它的实际效果。