0

habe ich versucht, den HTML-Text der ersten Schaltfläche in HTML Ändern des mit folgenden und es funktionierte:getElementsBy die erste Wegstück in einer Klasse

var list = document.getElementsByTagName('button')[0]; 
list.innerHTML = "AAA"; 

Aber ich bin auf der Suche nach einer besseren Lösung, wo ich die angeben genaue "Position" der Schaltfläche. Zum Beispiel:

document.getElementsByClassName('filter. > .btn-group > button').innerHTML = 'AAAA'; 

Das Snippet unten gegeben:

var list = document.getElementsByTagName('button')[0]; 
 
list.innerHTML = "AAA"; 
 

 

 
//I am looking something like the below: 
 

 
//document.getElementsByClassName('filter. > .btn-group > button > span > .multiselect-selected-text').innerHTML = 'AAAA';
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="filter"> 
 

 
<div class="btn-group"><button type="button" class="multiselect dropdown-toggle btn btn-default" data-toggle="dropdown" title="None selected"><span class="multiselect-selected-text">None selected</span> <b class="caret"></b></button><ul class="multiselect-container dropdown-menu"><li><a tabindex="0"><label class="checkbox"><input type="checkbox" value="0"> AA</label></a></li><li><a tabindex="0"><label class="checkbox"><input type="checkbox" value="1"> BB</label></a></li></ul></div> 
 

 
<div class="btn-group"><button type="button" class="multiselect dropdown-toggle btn btn-default" data-toggle="dropdown" title="None selected"><span class="multiselect-selected-text">None selected</span> <b class="caret"></b></button><ul class="multiselect-container dropdown-menu"><li><a tabindex="0"><label class="checkbox"><input type="checkbox" value="0"> AA</label></a></li><li><a tabindex="0"><label class="checkbox"><input type="checkbox" value="1"> BB</label></a></li></ul></div> 
 

 
</div>

+1

Sie benötigen 'document.querySelector'. Siehe: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector –

+0

Sie haben jQuery getaggt. Aber der Code ist natives JavaScript. Suchen Sie nach jQuery-Lösungen? Wenn nicht, entfernen Sie bitte das Etikett – Mojtaba

+0

@Mojtaba Ja. Ich bevorzuge jQuery in diesem Fall. –

Antwort

0

verwenden, um eine querySelector:

document.querySelector('.filter > .btn-group > button').innerHTML = 'AAAA'; 
+0

Zwischen der Filterklasse und der Btn-Gruppe habe ich ein Select-Tag und eine andere Klasse namens filter1 Es funktioniert nicht, wenn ich die filter1-Klasse hinzufügen –

1

Allerdings könnte die jQuery Lösung eines dieser sein :

$(".filter > .btn-group > button").html("AAAA"); 

Oder

$(".filter").children(".btn-group").children("button").html("AAAA"); 

Oder jede ähnliche Kombination.

ich empfehlen, in diesem short article

auch einen Blick darauf werfen, wenn Sie mehr als eine button unter .btn-group haben, und Sie wollen nur die erste beeinflussen, könnten Sie first() verwenden. wie folgt:

$(".filter").children(".btn-group").children("button").first().html("AAAA"); 
+0

@Motjaba Das ändert den Namen für jede Schaltfläche obwohl. Aber das hilft für zukünftige Referenz. –

+0

@ApoloRadomer, tut es genau das, was die vorherige Antwort tut. Ich habe die Antwort aktualisiert, um Ihnen zu zeigen, wie Sie den ersten "Knopf" auswählen. Vielleicht ist das dein Zweck – Mojtaba

+0

Perfekt. Vielen Dank :) –

Verwandte Themen