2010-12-16 6 views
0

Ich habe eine Thumbnail-Liste:JQuery - Ändern Sie den href des li a ‚s javascript: void (0)

<ul> 
    <li><a href=#c1><img /><p>1 Thumb</p></a></li> 
    <li><a href=#c2><img /><p>2. Thumb</p></a></li> 
    <li><a href=#c3><img /><p>3. Thumb</p></a></li> 
</ul> 

und Javascript (ich benutze jQuery Framework) sollten alle href der Änderung ein ‚s in dem ul zu javascript: void (0)

Es ist wie:

$("#thumbs ul li > a").href('javascript:void(0)'); 

Antwort

4

können Sie tun, was Sie wollen, mit .attr() (für Attribute verwendet, statt .href()) wie folgt aus:

$("#thumbs ul li > a").attr('href','javascript:void(0)'); 

... aber ich würde nicht, es einen besseren Weg, um Ihr Problem zu lösen, zum Beispiel :

$("#thumbs ul li > a").click(function(e) { 
    e.preventDefault(); 
}); 

Dies legt eine Eigenschaft click Handler die Navigation, anstatt messing mit Attributen zu verhindern, das gleiche zu tun.

+0

warum ist es besser? –

+0

1., Es ist sauberer, 2., Es setzt mittleren Mann zwischen Klick und Aktion, anstatt DOM zu ändern. –

+0

@Sandeepan - aus ein paar Gründen, überprüfen Sie diese Frage für eine längere Diskussion: http://StackOverflow.com/Questions/134845/href-for-Javascript-Links-oder-JavaScriptvoid0 Aber es gibt auch andere Nachteile, die 'href' zum Beispiel immer wieder zu ändern oder sie für etwas später zu verwenden ... alles wird verhindert, wenn du es wegbläst, wenn du die gleiche Aktion machen kannst, die es intakt lässt. –