Javascript 从HTML标记内部获取值
我正在使用Javascript 从HTML标记内部获取值,javascript,Javascript,我正在使用element.innerHTML从下拉单击的元素中检索值: $(b).on('click','#input',function(){ console.log('on click fired') /*insert the value for the autocomplete text field:*/ inpStr=this.innerHTML inp.value = this.innerHTML
element.innerHTML
从下拉单击的元素中检索值:
$(b).on('click','#input',function(){
console.log('on click fired')
/*insert the value for the autocomplete text field:*/
inpStr=this.innerHTML
inp.value = this.innerHTML
/*close the list of autocompleted values,
(or any other open lists of autocompleted values:*/
closeAllLists();
})
现在,InnerHTML看起来像这样:
<div class="col-4 querySelect">23</div>
<div class="col-4">2019-04-04</div>
<div class="col-4">Main</div>
23
2019-04-04
主要的
我只想要这个值23。我认为有一种方法可以使用regex实现这一点,但我认为使用dom选择器会更好,所以我做到了:
var inputs = document.querySelectorAll(".col-4")
for (i = 0; i < inputs.length; i++) {
inputs[i].addEventListener('click', function() {
inp.value = inputs[i]
console.log(inputs[i])
});
}
var inputs=document.querySelectorAll(“.col-4”)
对于(i=0;i
但它什么也不返回
从中检索值的最佳方法是什么?因为所需元素的
类名为querySelect
,只需使用该查询字符串:
inp.value = document.querySelector('.querySelect').textContent;
检索类似输入元素的内容时,请参考其值
——检索任何其他类型元素的内容时,请参考其文本内容
。(仅引用元素本身不会做任何有用的事情)简单的查询选择器就可以了,而且如果您正在寻找各种选项,我已经在答案中添加了
var inputs=document.querySelector(“.col-4”);//返回第一个Elment
console.log(inputs.textContent)
//使用查询选择器All
var inputs2=document.querySelectorAll(“.col-4”);//返回所有元素
inputs2.forEach(ele=>{
//检查particulr类
if(ele.getAttribute(“类”)=“col-4查询选择”){
console.log(ele.textContent)
}
})
//仅针对查询选择类
var inputs3=document.querySelector(“.querySelect”);//返回第一个Elment
console.log(inputs3.textContent)
23
2019-04-04
Main
这可能会有所帮助..您使用的元素没有值。也许你正在寻找他们的文本内容
?那么:什么是无中生有的inp
?下一步:您从未声明过您的索引变量i
。您建议查询的元素没有值
。当然,它是一个普通元素,而不是一个类似于元素的输入。您应该在这一部分详细说明,因为这是OP的方法不起作用的主要原因。还应该提到,inp
从未声明过,更不用说初始化为对象,所以inp.value=…
将抛出一个无法赋值的未定义的错误。谢谢。我使用了forEach的one,它工作得非常好