<a class = "link" href="#" id = "one">
<div class="secret_div" id = "secret_one" style = "display: none;">
    <p>This is a secret</p>
</div>


<a class = "link" href="#" id = "two" style = "display: none;">
<div class="secret_div" id = "secret_two">
    <p>This is a 2nd secret</p>
</div>

Wie erhält man die ID des verlinkten Links? Dies ist das JQuery-Skript, das ich verwendet habe, aber anscheinend nicht funktioniert

<script type="text/javascript">
$(function() {
    $(".link").click(function(){
        var id = $(this).attr("id");
        var element = ".secret_" + id + "#" + "id";
        $(element).show();
    }
        )
});
</script>

Ich versuche, ".secret_two#two" mit dem id des ausgewählten Links zu verketten, damit ich es in einer element Variablen speichern kann, damit ich so etwas tun kann $(element).show()

Wie machen wir das?

0
Zion 16 Aug. 2015 im 08:42

4 Antworten

Beste Antwort

Verwenden

var element = "#secret_" + id;

Anstatt von

var element = ".secret_#" + id;

Versuchen

<script type="text/javascript">
$(function() {
    $(".link").click(function(){
        var id = $(this).attr("id");
        var element = "#secret_" + id;
        $(element).show();
    }
        )
});
</script>
3
Tamil Selvan C 16 Aug. 2015 im 06:36
$(function() {
$(".link").click(function(){
    var id = $(this).attr("id");
    var element = ".secret_" + id;
    $(element).show();
}
    )
 });

Und benutze secret_ remove # after secret_`

1
Anand Dwivedi 16 Aug. 2015 im 05:52

Die von anderen Mitwirkenden bereitgestellten Lösungen sehen zwar gut aus, aber hier ist eine Alternative:

$(function(){
  $('.link').click(function(){
    $(this).find('.secret_div').show(); //<-- No need to work on ID
  });    
});

Und wenn sich viele DIV Elemente in a.link befinden, verwenden Sie :first in der Auswahl.

2
Apul Gupta 16 Aug. 2015 im 06:07
$(".link").click(function(e){
    var idClicked = $(this).attr("id");
    $("#secret_" + idClicked).show();
});

Benutze es. Und keine Notwendigkeit für Element var.

1
Pratik 16 Aug. 2015 im 05:58