如果没有querySelector()
属性,如何使用input
方法获得概述的class
:
document.querySelector('.red').style.outline = '1px solid red';
<div>
<p>
<span></span>
<span></span>
<input>
</p>
<p>
<span></span>
<span></span>
<input>
</p>
<span></span>
<input class="red">
<span></span>
</div>
答案 0 :(得分:2)
它是input
内部唯一的<div>
,因此您可以使用div > input
:
document.querySelector('div > input').style.outline = '1px solid red';
<div>
<p>
<span></span>
<span></span>
<input>
</p>
<p>
<span></span>
<span></span>
<input>
</p>
<span></span>
<input>
<span></span>
</div>
答案 1 :(得分:1)
如果要获取最后一个,请使用querySelectorAll
并获取/影响最后一个。在标记更改的情况下,这种方法不那么脆弱。
var inputs = document.querySelectorAll('div input'); // whatever is specific enough
inputs[ inputs.length -1 ].style.outline = '1px solid red';
/* not this selector! see P.S. */
input:last-of-type { background: lightgrey; border: 1px solid grey; }
<div>
<p>
<span></span>
<span></span>
<input>
</p>
<p>
<span></span>
<span></span>
<input>
</p>
<span></span>
<input>
<span></span>
</div>
P.S。您可能会认为可以使用input:last-of-type
,但不能! last-of-type
的范围很广,在这种情况下,匹配每个输入,如您从上面的CSS中所见。
答案 2 :(得分:0)
可以使用element> element选择器用于选择具有特定父元素的元素。基于此链接:
https://www.w3schools.com/cssref/sel_element_gt.asp
例如:
document.querySelector('div > input').style.outline = '1px solid red';
选择所有输入元素,其中父元素是元素
答案 3 :(得分:0)
如果要将样式应用于HTML中的所有输入,请使用以下内容
window.onload = function(){
var inputElems = document.querySelectorAll('input');
var index
for ( index = 0; index < inputElems.length; index++) {
inputElems[index].style.outline = '1px solid red';
}
}
您还可以通过在按钮点击时调用方法来应用样式
function myFunction() {
var inputElems = document.querySelectorAll('input');
var index
for ( index = 0; index < inputElems.length; index++) {
inputElems[index].style.outline = '1px solid red';
}
}
<button onclick="myFunction()">Apply Outline</button>