2012-04-05 17 views
0

Ich versuche mit jQuery eine Liste von Links zu durchsuchen und den Text von einem Link, der den Kriterien entspricht. Hier ist ein Beispiel Struktur:jQuery, um Text aus der Liste der Links zu ziehen

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

Es ist ein Skript, das eine Variable in der Zeichenfolge festlegt, die nach dem Hash-Tag (wie „Bekleidung“) kommt. Ich möchte diese Variable nehmen, suchen Sie die Liste für den Artikel mit dem Link, der in "Bekleidung" endet und legen Sie das H3-Tag auf "Bekleidung und Bekleidung".

Die Variable wird auf Mausklicks gesetzt, aber auch durch Überprüfen der URL beim Laden der Seite, so dass ich keine Funktion verwenden kann, die auf einem Mausklick basiert.

Hier einige Code, den ich mit gespielt haben, aber nicht funktioniert:

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

Jede Hilfe wäre sehr dankbar.

Antwort

0

Verwenden jQuery's Attribute contains Wähler und Ihr Code sollte funktionieren:

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

Demo hier: http://jsfiddle.net/5WqVz/

+0

Nur getestet und das funktioniert super. Vielen Dank! – lukemcd

+0

@lukemcd: Gern geschehen! –

0

Möglicherweise möchten Sie versuchen, machen Ihre regex Groß- und Kleinschreibung /url$/i

0

Try this:

// 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()); 
Verwandte Themen