Javascript:如何从不同的ID中获取ID和name属性

Javascript: How to grab an ID and a name attribute from a different ID?

本文关键字:ID 获取 属性 name Javascript      更新时间:2023-09-26

我希望用动态消息填充文本区域。我可以访问并输入 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 "X-detailsField-address" 是动态的,是我想使用脚本输入的内容。我显然做错了什么。

如果该 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>

上面的代码显然会根据特定模式找到文本区域,但如果有许多文本区域具有相同的 ID 模式,则必须遍历它们才能找到您要查找的确切文本区域。

演示在这里

http://jsfiddle.net/64e3ecvh/4/

var addressDiv =document.querySelector('div[id*="detailsField-address"]');
console.log(addressDiv.innerText);