[英]How to reach a html <span> tag inside a <div> using Java Script?
我有一个放置在div
内的span
标签,如下所示:
<div onclick="doActiveCheckBox('color1')" id="sss" class="test form-check form-option form-check-inline mb-2">
<input class="test form-check-input" type="radio" name="color" id="color1" data-bs-label="colorOption" value="/تاریک" checked="">
<label class="form-option-label rounded-circle" for="color1"><span style="border:inherit; border-block-color:purple;" class="form-option-color rounded-circle" style="background-image: url(/img/ProductColors/green1.jpg)"></span></label>
</div>
我想在单击input
标签时为span
标签设置border
,并且也不想在span
中使用任何id
。 我尝试了以下方法:
1:
var d=document.getElementById("sss").getElementsByTagName("span");
d.style.border = "thick solid #0000FF";
2:
var d=document.getElementById("sss").getElementsByClassName();
for (var i = 1; i <= d.length; i++) {
d[1].style.border = "thick solid #0000FF";
}
但他们都没有正常工作? 那么有人会帮忙吗?
我建议使用 querySelector: const d = document.querySelector("#sss span");
然后你可以添加样式: d.style.border = "thick solid #0000FF";
var d=document.getElementById("sss").getElementsByTagName("span");
^//returns an array
d.get.style.border = "thick solid #0000FF";//d[0].style
//┗━━┛
没有一个名为get
的属性,因此访问第一个元素,因为 getElementsByTagName 返回一个数组。
要获得跨度,您可以这样做
var span = document.querySelector("#sss label span");
//do whatever you want with the span
Jquery 方法(如果需要)
var span = $("#sss label span");
span.css("border", "thick solid #0000FF");
或者如果您不使用#sss 只是输入(可能会得到多个结果)
var span = $("input.form-check label span");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.