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>​

ハッシュタグの後ろの文字列(「アパレル」など)に変数を設定するスクリプトがあります。その変数を使用して、「アパレル」で終わるリンクを持つアイテムのリストを検索し、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 に答える