2012-04-13 18 views
1

ich möchte den Wert von List item auslesen und in span schreiben.
Damit die Listen wie folgt aussehen:Jquery Was mache ich falsch?

  • mein erster Punkt (1)
  • ein anderes Element (2)
  • nächster Punkt (3)

  • mein erster Punkt (a)
  • ein weiteres Element, (b)
  • nächster Punkt (c)

aber ich nicht den Fehler finden:

<div id="Listgroup"> 
    <ul id="list1"> 
     <li><a href="" value="1">my first item<span></span></a></li> 
     <li><a href="" value="2">another item<span></span></a></li> 
     <li><a href="" value="3">next item<span></span></a></li> 
    </ul> 
<br> 
    <ul id="list2"> 
     <li><a href="" value="a">my first item<span></span></a></li> 
     <li><a href="" value="b">another item<span></span></a></li> 
     <li><a href="" value="c">next item<span></span></a></li> 
    </ul> 
</div> 

<script> 
$(function(){ 
$("li a").each(function(idx, item){ 
    $("span", "li a[value|=' + $(this).attr('value') + ']") 
     .html(" (" + $(this).attr('value') + ")"); 
}); 
}); 
</script> 

bitte

Danke

+0

Welche Fehlermeldung erhalten Sie? –

+0

[tag: list] * specifically * sagt in seiner Beschreibung, dass es nicht für HTML-Listen ist. –

Antwort

4

Ihre Anführungszeichen die Zeichenfolge Anführungszeichen nicht übereinstimmen helfen, so dass ihr ' + $(this).attr('value') + ' als String Klassierung, anstatt $(this).attr('value') als Objekt

$("span", "li a[value|=" + $(this).attr('value') + "]") 

auch brauchen Sie nicht den Wert wie das zu finden. Sie wissen bereits, was this ist, so dass Sie nur find die span von dort können.

Darüber hinaus hat das Ankerelement kein value Attribut, wodurch dieses HTML ungültig wird. Sie sollten es auf data-value ändern, welche es mit HTML5-konform machen würde:

$(function(){ 
$("li a").each(function(idx, item){   
    $(this).find("span").html(" (" + $(this).data("value") + ") ");  
}); 
}); 

-- SEE DEMO --

+0

Hallo Curt, danke für die schnelle Antwort. – Newbie

+0

Hallo Neuling, willkommen bei StackOverflow. Wenn Curts Antwort Ihnen hilft, seien Sie bitte nett und markieren Sie seine Antwort als "richtige" Antwort mit dem Haken. Vielen Dank. –

+1

@ jfriend00 Funktioniert 'this.value' und' .val() 'für Ankerelemente? – Curt