【问题标题】:getElementsBy the first span in a classgetElementsBy 类中的第一个跨度
【发布时间】:2017-10-13 17:56:25
【问题描述】:

我已尝试使用以下方法更改 HTML 中第一个按钮的 HTML 文本,并且成功了:

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

但我正在寻找一个更好的解决方案,我可以在其中指定按钮的确切“位置”。例如:

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

sn-p 如下:

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>

【问题讨论】:

标签: jquery html innerhtml getelementsbytagname getelementsbyclassname


【解决方案1】:

但是,jQuery 解决方案可以是以下任何一种:

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

或者

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

或者,任何类似的组合。

我推荐看看这个short article

另外,如果您在.btn-group 下有多个button,并且您只想影响第一个,则可以使用first()。像这样:

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

【讨论】:

  • @Motjaba 不过,这会更改每个按钮的名称。但这有助于将来参考。
  • @ApoloRadomer,它的作用与前面的答案完全一样。我更新了答案,向您展示如何选择第一个button。也许这就是你的目的
  • 完美。谢谢:)
【解决方案2】:

使用查询选择器:

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

【讨论】:

  • 在过滤器类和btn-group之间我有一个选择标签和另一个名为filter1的类如果我添加filter1类它不起作用
猜你喜欢
  • 2021-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-28
  • 1970-01-01
  • 1970-01-01
  • 2020-02-21
相关资源
最近更新 更多