2016-05-03 17 views
-4

Nicht sicher, warum ich das nicht zum Funktionieren bringen kann. Habe jetzt ein paar Permutationen versucht.jQuery erhalten HTML-Inhalte von Kind DIV

Ich habe eine JSFIDDLE here gebaut.

Ich kann diese jQuery nicht erhalten, um die innere HTML für das Zielelement zurückzugeben. Liegt es an der Anzahl der untergeordneten Elemente in der Hierarchie?

jQuery:

modalContentLeft = 'Project: ' + $('#mob-' + uuid + ' div.project-name').html(); 

Ich habe auch versucht .find() ohne Erfolg verwenden. Danke für jede Hilfe.

Antwort

1

Ich fand Ihre Schuld: Sie schließen das Div-Tag der ID, bevor es den Namen bekommt. Sie schließen es vor der Klasse <div class="mobile-item-row clearfix">, so dass der Selektor die Kinder ".project-name" darin nicht findet, weil es keine gibt. Wenn Sie das schließende Tag entfernen und es am Ende des HTML-Codes schließen und die Syntax des Selektors etwas ändern, funktioniert es.

Project: ' + $('#mob-'+uuid+' .project-name').html() 

Hier gehen Sie: https://jsfiddle.net/ucupbtsf/5/

+0

Hallo @Marcel Wasilewski zu lange am Tag schon! Vielen Dank! – TheRealPapa

0

zuerst Ihr Beitrag hier und Ihre jsfiddle nicht die gleiche reflektieren ...

JsFiddle:

modalContentLeft = 'Project: ' + $('#mob-' + uuid + ' div div .project-name').html()... 

hier:

modalContentLeft = 'Project: ' + $('#mob-' + uuid + ' div.project-name').html(); 

Dann Ihre HTML ist:

<div class="mobile-item-row-first first-row clearfix" id="mob-6c985947-c68a-4f5b-9ebe-0d488b696f0d"> 
    <div class="project-client pull-left"> 
    <i class="ion-ios-people ion-fw" data-original-title="" title=""></i>&nbsp; Sienna Cremin 
    </div> 
</div> 

, die nicht Ihre jquery Wähler widerspiegelt:

$('#mob-' + uuid + ' div div .project-name').html() 

scheint, dass Sie zu viel div geschlossen, so dass Ihr .project-name div ist nicht in der # MOB- id div.

$(elem).html() erhalten Sie den gesamten Inhalt der div (einschließlich der <i></i> Teil). Wenn Sie nur den Text möchten, können Sie $(elem).text() gehen.