没有通过getText()或getAttribute获取文本(" innerHTML")

时间:2016-01-12 07:10:14

标签: javascript html input combobox

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>

3 个答案:

答案 0 :(得分:0)

你能做什么:

  1. 使用<label></label>
  2. 换行您的文字
  3. 使用ID
  4. 将您的文字与复选框相关联
  5. 然后您可以从该标签获取innerHTML
  6. 示例:

    <强> 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
    

答案 1 :(得分:0)

这将返回一个带有&#34; name&#34;的数组。作为索引及其下一个内容作为值

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

答案 2 :(得分:0)

嗯,你不能获得内部HTML或getText元素,这些元素是自包含的&#34;例如<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"));