jQuery从链接列表中提取文本

时间:2012-04-05 18:08:06

标签: jquery

我正在尝试使用jQuery搜索链接列表,并从符合条件的链接中获取文本。这是一个示例结构:

<div class="shortcut_box">
    <p>Select a category</p>
    <ul id="select_nav">
    <li><a href="doing-business/directory/#acupuncture">Acupuncture</a></li>
    <li><a href="doing-business/directory/#advertising">Advertising</a></li>
    <li><a href="doing-business/directory/#apparel">Clothing and Apparel</a></li>
    <li><a href="doing-business/directory/#automotive">Automotive</a></li>
    </ul>
</div>
<h3 id="index_heading"></h3>​

有一个脚本可以将变量设置为哈希标记之后的字符串(例如“服装”)。我想取这个变量,在列表中搜索以“服装”结尾的链接,并将H3标签设置为“服装和服饰”。

该变量是在鼠标点击时设置的,但也可以在页面加载时检查URL,因此我无法使用基于鼠标单击的功能。

以下是我一直在玩的一些代码,但是无效:

// manually set url variable for testing
url = 'apparel';
$('#index_heading').html($("#select_nav a[value.match(/url$/)]").text());

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

您可能希望尝试使用不区分大小写的/url$/i

答案 1 :(得分:0)

试试这个:

// manually set url variable for testing
url = 'apparel';
var wantedId = "";

$('a').each(function() {
    if($(this).attr("href").split("#")[1] == url) {
        wantedId=$(this).id;
    }
});​​

$('#index_heading').html($("#" + wantedId).text());

答案 2 :(得分:0)

使用jQuery's Attribute contains选择器,您的代码应该有效:

url = 'apparel';
$('#index_heading').html($("#select_nav a[href*='"+url+"']").text());​​​​​​​​​​​​​​​​

在这里演示:http://jsfiddle.net/5WqVz/