我希望用动态消息填充textarea。我可以访问并输入innerHTML,但我不知道如何提取动态ID并将其粘贴到那里。
到目前为止的代码:
<textarea name="message" id="X-message" class="X-textarea" rows="3"></textarea>
<script>
document.getElementById('X-message').innerHTML = "Please send me more information about " + ["X-detailsField-address"];
</script>
ID&#34; X-detailsField-address&#34;是动态的,是我想通过使用脚本输入的内容。我显然做错了什么。
答案 0 :(得分:0)
如果该ID存在特定模式,您可以使用jQuery(这是一个非常有用的javascript库)来做这样的事情 -
$('textarea[id*="detailsField-address"]')
以下代码是一个示例 -
$('textarea[id*=message]').html("Please send me more information about " + $('textarea[id*=detailsFieldaddress]').html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea name="message" id="X-message" class="X-textarea" rows="3"></textarea>
<textarea name="message" id="X-details" class="X-textarea" rows="3">Some Details</textarea>
<textarea name="message" id="X-field" class="X-textarea" rows="3">Some fields</textarea>
<textarea name="message" id="X-detailsFieldaddress" class="X-textarea" rows="3">123 West Street</textarea>
上面的代码显然会根据特定的模式找到textareas,但如果有很多textareas具有相同的ID模式,你必须遍历它们以找到你正在寻找的确切文本区域。
答案 1 :(得分:-1)
演示http://jsfiddle.net/64e3ecvh/4/
var addressDiv =document.querySelector('div[id*="detailsField-address"]');
console.log(addressDiv.innerText);