首页 > 解决方案 > 具体 HTML 类的 JavaScript querySelector

问题描述

如果 AJAX 返回多个具有以下结构的记录,我如何选择带有“评论”的特定输入标签的值?

`<div class="record">
<div class="record_item">${element.name}</div> 
<div class="record_item">${element.type}</div> 
<div class="record_item">${element.country}</div> 
<div class="record_item">${element.region}</div> 
<div class="record_item"><input type="text" class="review" name="review"></div>
<button onclick="ajaxReview('${element.id}')">Review</button>
</div>`).join('');

标签: javascripthtmlajax

解决方案


const el = document.querySelector(".record");

const getInputNameTag=el.children[4].children[0].name

if(getInputNameTag==="review"){
	console.log("Value from input: ", el.children[4].children[0].value)
}
<div class="record">
  <div class="record_item">${element.name}</div> 
  <div class="record_item">${element.type}</div> 
  <div class="record_item">${element.country}</div> 
  <div class="record_item">${element.region}</div> 
  <div class="record_item">
    <input type="text" class="review" value="asdf" name="review"/>
  </div>
  <button onclick="ajaxReview('${element.id}')">Review</button>
</div>

const el = document.querySelector(".record");

const getInputNameTag=el.children[4].children[0].name

if(getInputNameTag==="review"){
    console.log(el.children[4].children[0].value)
}

您可以选择元素并遍历所有子项,看看他们是否有带有“review”名称的输入字段,以便在您更改表单时使其更加动态。

编辑:添加了代码片段


推荐阅读