2016-08-27 5 views
2

Ich habe eine HTML-Tabelle mit jQuery erstellt und möchte einen Klick auf den ersten Link in der zweiten Zeile ausführen. Der erzeugte HTML sieht wie folgt ausjQuery Klicken Sie auf ein dynamisch hinzugefügtes Element

<tr><td>4</td><td>text</td></tr> 
<tr id="xrow22" class="xrow"><td colspan="2"><a>0</a><a>1</a></td></tr> 

Die Funktion Klicks funktioniert gut Handhabung, wenn ich die Zeile klicken meine Maus

$('table').on('click', '[id^=xrow] a', function(){ ... 

Wenn ich versuche, von einer anderen, diese Funktion aufzurufen, ist es nicht Arbeit. Ich verwendete Alarm einige Werte und überraschend die folgenden Code-Benachrichtigungen zu sehen

<a>0</a><a>1</a>,,[object Object] 

-Code (zweiter Wert sollte 0 sein).

$('table').on('click', 'tr:not(.xrow)', function(e){ 
    $(this).next().children('td:first-child a:first-child').click(); 
    alert($(this).next().children('td:first-child').html() +','+ $(this).next().children('td:first-child a:first-child').text() +','+ $(this).next().children('td:first-child a:first-child')); 
}); 

Antwort

0

Wenn ich $(this).next().children('td:first-child').children('a:first-child').text(); verwende, bekomme ich das erwartete Ergebnis.

0

Statt der $() auf() Funktion können Sie verwenden die Funktion $(). live(). Wenn Sie ein neues Element erstellen, wird jQuery nicht erneut ausgeführt und der Klick wird auch nur angefügt. http://api.jquery.com/live/

+0

Wenn ich es an einem oder an beiden Orten ändere, funktioniert der Code nicht mehr vollständig – Jord123

Verwandte Themen