2016-11-06 26 views
-3

Ich muss wissen, wie Sie etwas wie folgt tun werden:Wie erreicht man dies mit jquery?

Wenn Sie auf "Liste 2" klicken, erscheint der "Text 2" im Absatz mit einer Klasse von Nachricht. Und wenn Sie auf "Text 3" klicken, erscheint stattdessen "Text 3" und so weiter.

Seine Herausforderung, weil Sie nicht den tatsächlichen Listentext aber einen anderen Text von anderem Platz zeigen! Irgendwelche Gedanken dazu? Vielen Dank für Ihre Hilfe:)

<p class="message"></p> 

<ul> 
<li>list 1</li> 
<li>list 2</li> 
<li>list 3</li> 
</ul> 

<p>text 1</p> 
<p>text 2</p> 
<p>text 3</p> 
+0

gute Nutzung der Klasse Attribut wird dieses Rätsels helfen –

+0

Danke, ich denke so auch, aber ich werde mehr Inhalt zu der Liste hinzufügen, etwa 1000 Rekord, so Inhalts-Targeting mit Eine andere Klasse führt zu einem langen js-Code! – captinmajid

+0

nicht mit GUTEN Klassenbenutzung - ohne Klassen wird der JS-Code noch länger –

Antwort

1

Meinst du das?

var paragraphs = $('p').not('.message'); 
 

 
$('li').on('click', function(e) { 
 
    var i = $(e.target).index(); 
 
    $('.message').html($(paragraphs[i]).html()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<p class="message"></p> 
 

 
<ul> 
 
<li>list 1</li> 
 
<li>list 2</li> 
 
<li>list 3</li> 
 
</ul> 
 

 
<p>text 1</p> 
 
<p>text 2</p> 
 
<p>text 3</p>

+0

Ja, das ist, was ich bin, vielen Dank werde ich den Code studieren. Danke nochmal!! – captinmajid

Verwandte Themen