我正在尝试使用以下JavaScript代码查找OPTION
内的所有SELECT
。
var temp = document.querySelectorAll("select");
console.log(temp[0].childNodes);
和html标记就是这个
<select>
<option>1</option>
<option>2</option>
</select>
但是它在Google Chrome浏览器中提供了以下输出
那么在每个选项之前的输出中的文本是什么。
答案 0 :(得分:3)
您必须使用options
元素的select
属性
var temp = document.querySelectorAll("select");
console.log(temp[0].options);
childNodes
也会为您提供空文本节点(空格/返回)。因此建议使用options
。另外,您可以在获取的querySelectorAll
元素上使用select
。
var temp = document.querySelectorAll("select");
console.log(temp[0].querySelectorAll("option"));
答案 1 :(得分:1)
文本值是您为此检索的内容:
<select id="selectid">
<option value="volvo">Volvo text</option>
<option value="saab">Saab text</option>
<option value="mercedes">Mercedes text</option>
<option value="audi">Audi text</option>
</select>
现在,如果您希望所有<option>
个对象都使用此功能:
$("#selectid option").each(function()
{
//you get "each" option for the select in the id.
});
使用纯javascript
function displayResult() {
var x = document.getElementById("selectid ");
var txt = "All options: ";
var i;
for (i = 0; i < x.length; i++) {
txt = txt + "\n" + x.options[i].text;
}
alert(txt);
}
答案 2 :(得分:1)
你可以试试这个。
var selects = document.querySelectorAll("select");
var firstSelect = selects[0];
var firstSelectOptions = firstSelect.querySelectorAll("select");
// firstSelectOptions[0].innerText
// firstSelectOptions[0].innerText
答案 3 :(得分:1)
Node.childNodes
只读属性返回给定元素的子节点的实时集合。 childNodes还包括例如文本节点和注释。要跳过它们,请改用ParentNode.children
。[来自文档]
var temp = document.querySelectorAll("select");
console.log(temp[0].children);
&#13;
<select>
<option>1</option>
<option>2</option>
</select>
&#13;