0

我正在尝试使用 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>​

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

该变量是在鼠标点击时设置的,但也是通过在页面加载时检查 url 来设置的,所以我不能使用基于鼠标点击的函数。

这是我一直在玩但不起作用的一些代码:

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

任何帮助将不胜感激。

4

3 回答 3

0

您可能想尝试使您的正则表达式不区分大小写/url$/i

于 2012-04-05T18:14:11.753 回答
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());
于 2012-04-05T18:17:16.770 回答
0

使用jQuery 的 Attribute contains选择器,您的代码应该可以工作:

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

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

于 2012-04-05T18:17:23.573 回答