1

我必须textarea使用油脂猴子脚本在网站的 a 中输入随机值,文本区域没有,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>
4

3 回答 3

1

使用getElementsByName

document.getElementsByName("inpx_msg")[0]

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

于 2013-03-24T09:42:22.060 回答
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>

演示- 使用element.querySelector


当然,您现在可以将 CSS 选择器更改为您喜欢的任何内容以匹配您的 DOM 层次结构。使用element.querySelector.

于 2013-03-24T10:00:37.673 回答
0

使用getElementsByTagName可能会有所帮助:

document.getElementsByTagName("textarea")[0]

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

document.getElementById("someparentid").getElementsByTagName("textarea")[0]
于 2013-03-27T16:15:07.493 回答