-2

申し訳ありませんが、JavaScriptは初めてです。

次のように、クリックイベントのパラメーターとしてIDセレクターを渡したい:

私は試した :

<button onclick="mycustomfunction(document.getElementById('someTextId'))"/> 

そしてjqueryを使用する:

<button onclick="mycustomfunction($('#someTextId').val())"/> 


mycustomfunction(control)
{
// do something with the control
}

誰かが私がどこで間違っているのかを理解するのを手伝ってくれますか?

4

3 に答える 3

1

イベントハンドラー関数内で呼び出しを行いdocument.getElementById()、ID文字列を渡します

<button onclick="mycustomfunction('someTextId')"/> 

function mycustomfunction(controlId) {
    var control = document.getElementById(controlId);

    // now work with control
}
于 2013-02-22T21:11:54.370 に答える
1

<button onclick="mycustomfunction($('#someTextId').val())"/>-これは値を渡します。あなたは文字列で終わります。

<button onclick="mycustomfunction(document.getElementById('someTextId'))"/>-これにより、オブジェクトの畏敬の念がDOM要素に渡されます。ここから次のことができます。

mycustomfunction(element) {
    alert(element.value)
}
于 2013-02-22T21:12:07.700 に答える
1

取得しようとしている値は、ボタンが押されていることとは関係ありません。ボタンからその参照を完全に削除して、次のようにします。

<button onclick="mycustomfunction()"/> 
<script>
function myscustomfunction() {
    var val = $('#someTextId').val(); // must be an input field for val() to work otherwise use html() or text()
    // do other stuff
}
</script>

または、本当にjQueryを使いやすくしたい場合は、次のようにします。

<button id="cool_button" /> 
<script>
$('#cool_button').click(function() {
    var val = $('#someTextId').val(); // must be an input field for val() to work otherwise use html() or text()
    // do other stuff
});
</script>

jQueryの優れた点の1つは、適切に実行すると、HTML構造からイベントハンドラーロジックの削除を開始できることです。

于 2013-02-22T21:15:07.167 に答える