Diese Anwendung haben 2 Komponenten, eine HTML-Seite, die ein Element und ein JavaScript enthalten, um Schaltflächen zu generieren.JavaScript/Jquery: Eine for-Schleife-Funktion mit einigen speziellen Verwendung
Ich werde versuchen, ein einfaches Beispiel in der Frage für jetzt zu geben, aber wenn es etwas unklar ist, dann würde ich den vollständigen Code später hochladen.
Ich benutze HandleBar.js, um verschiedene Inhalte in der HTML zu generieren, aber keine Sorge, wenn Sie keine Ahnung von diesem Plugin haben, werde ich eine andere nicht-lenker.js Version machen.
Betrachten Sie die HTML-Teil wie unten aussieht:
HandleBar.js Version
//example:
//{{feedId}} = 0t454g465754754h456
//{{url}} = www.jegdo.co.uk
{{each}}
<div class="feedIdChecker">{{feedId}}</div>
<div class="{{feedId}}-EditRegionUrl" >{{url}}</div>
<button class="output-{{feedId}}"><a href="javascript:void(0)">Output</a></button>
{{/each}}
Dann habe ich eine Funktion JQuery, die ausgeben würde die URL
var feedId = $(".feedIdChecker").html();
$('".output-'+feedId+'"').click(function(){
var postUrl = $('".'+feedId+'-EditRegionUrl"').html();
console.log(postUrl);
});
});
}
gefunden Es gibt keine Möglichkeit zu identifizieren, welcher Knopf welcher ist. Da ich die var feedID
außerhalb der Schaltfläche deklarieren muss, würde es immer die erste feedID erhalten, die es erstellt und an alle Schaltflächen anfügt, wie kann ich es lösen? Bitte sagen Sie mir, wenn diese Frage verwirrend ist, werde ich versuchen, es besser zu erklären.
Es gibt viele Menschen, die versuchen, mir zu helfen, aber es scheint muss ich zum besseren Verständnis einige weitere Details, um heraus zu geben:
Javascript:
var initRegionEdit = function(){
var feedId = $(".feedIdChecker").html();
$(".CTHK").click(function(){
var postUrl = ($(this).prev('div').html());
})
}
HTML
<div class="EditRegionUrl" >{{url}}</div>
<div class="feedIdChecker">{{feedId}}</div>
{{#if region}}
<span class="dropdown"><i class="fa fa-map-marker" aria-hidden="true" style="color:gray;"></i>
<span class="result-date result-date-region" type="button" data-toggle="dropdown">{{region}}
<span class="caret"></span></span>
<ul class="dropdown-menu" style="min-width:100px;text-align:center;">
<li class="CTHK" data-url="{{url}}" style=" margin-top: 0px !important;margin-bottom: 0px !important;"><a href="javascript:void(0)">Hong Kong</a></li><div class="divider"></div>
<li class="CTTW" style=" margin-top: 0px !important;margin-bottom: 0px !important;"><a href="javascript:void(0)">Taiwan</a></li><div class="divider"></div>
</ul>
</span>
{{/if}}
Ich wünsche obige Informationen können helfen
Sie wollen einfach nur die URL der Schaltfläche geklickt oder täusche ich mich? –
'$ (this) .prevAll (". FeedIdChecker "). Eq (0) .html()' - jQuery ist alles über DOM Traversal ... –