1

textareaグリースモンキースクリプトを使用して、Webサイトのにランダムな値を入力する必要があります。テキスト領域にない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タグがある場合は、それらが持つ可能性のあるプロパティに基づいてそれらを区別する必要があります。または、テキストエリアがIDを持つ特定の要素内にあることがわかっている場合は、次のことを試すことができます。

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