如何在没有id的textarea中输入随机值?

时间:2013-03-24 09:37:48

标签: javascript textarea greasemonkey

我必须使用油脂猴脚本在网站的textarea中输入随机值,文本区域没有id,因此document.getElementById不起作用。

我可以使用其他方法吗?

我当前的HTML显示了我的textarea

<tr>
    <td class="tdv pd5"><span class="tbg">
        Message</span>&nbsp;</span>
    </td>
    <td class="pd5">
        <textarea name="inpx_msg" class="msgbox"></textarea>
        <br />
        <div class="tsm">140 characters max.</div>
    </td>
</tr>

3 个答案:

答案 0 :(得分:1)

使用getElementsByName

document.getElementsByName("inpx_msg")[0]

显然,你必须检查它是否存在等等。

答案 1 :(得分:1)

如果您希望能够使用CSS选择器专门定位元素,则可以使用element.querySelector,类似于:

var textArea = document.querySelector('table tr td.pd5 textarea.msgbox');
textArea.value = "My Random Text";

以上是针对以下HTML示例:

<table>
    <tbody>
        <tr>
            <td class="tdv pd5"><span class="tbg">Message</span>&nbsp;</span>
            </td>
            <td class="pd5">
                <textarea name="inpx_msg" class="msgbox"></textarea>
                <br />
                <div class="tsm">140 characters max.</div>
            </td>
        </tr>
    </tbody>
</table>

DEMO - 使用element.querySelector


当然,您现在可以将CSS选择器更改为您想要匹配DOM层次结构的任何内容。使用element.querySelector有很多灵活性。

答案 2 :(得分:0)

使用getElementsByTagName

可能会有所帮助
document.getElementsByTagName("textarea")[0]

当然,如果您有多个textarea标记,则必须根据它们可能具有的属性来区分它们。或者,如果您知道您的textarea位于具有ID的特定元素内,您可以尝试

document.getElementById("someparentid").getElementsByTagName("textarea")[0]