无法通过 getText() 或 getAttribute( "innerHTML" 获取文本



getAttribute,所有内容,但没有沿着属性组合框获取文本。

我想把文本和每个组合框放在一起。

<small>
<input type="checkbox" checked="checked" value="on" name="irOperations[0]"/>
  Account Activity
<br/>
<input type="checkbox" checked="checked" value="on" name="irOperations[1]"/>
  Current Day Balances
<br/>
<input type="checkbox" checked="checked" value="on" name="irOperations[2]"/>
  Current Day Transactions
<br/>
<input type="checkbox" checked="checked" value="on" name="irOperations[3]"/>
  Prior Day Balances
<br/>
<input type="checkbox" checked="checked" value="on" name="irOperations[4]"/>
  Prior Day Transactions
<br/>
<li class="xc">
</small>

您可以做什么:

  1. <label></label>换行
  2. 使用ID将文本与复选框连接
  3. 然后你可以从那个标签上得到innerHTML

示例:

HTML

<input id="account-activity" type="checkbox" checked="checked" value="on" name="irOperations[0]">
<label for="account-activity">Account Activity</label>

JavaScript

document.querySelector('[for="account-activity"]').innerHTML

这将返回一个数组,其中"name"作为索引,下一个内容作为值

var comboboxes = document.getElements('input[type="checkbox"][name]');
var output = [];
comboboxes.forEach(function(combobox) {
    output[combobox.getAttribute('name')] = combobox.nextSibling.textContent.trim();
});
console.log(output); 

document.getElement('input[type="checkbox"][name="irOperations[1]"]').nextSibling.textContent

好吧,你无法获得"自包含"元素的innerHTML或getText,例如<input />

一种方法是使用HTML5数据属性并给每个元素一个ID:

<input type="checkbox" id="account_activity" data-detail="Account Activity" checked="checked" value="on" name="irOperations[0]"/>
Account Activity
<br/>

通过这种方式,您可以使用以下JS来获得值:

var combo_element = document.getElementById("account_activity");
alert(combo_element.getAttribute("data-detail"));

最新更新