1

コードに2つの要素があり、それぞれのIDをイベント処理関数に渡したいとします。(以下の私の例では、divとボタンがあります)

<div id="div1">
  <input type="button" id="button1" onclick="doSomething(this, [here comes id of div])" />
</div>

ボタンの場合、「button1」というIDを書き込む代わりに、「this」キーワードを使用して要素自体を渡すだけです。今私の質問は、ボタン要素で行ったのと同じように、そのIDだけでなく、関数内でdiv要素自体を渡すことができる方法はありますか?

どんな助けでも大歓迎です。

4

3 に答える 3

3

parentNodeプロパティを使用できます;

this.parentNode

これはDOMElement(と同様にthis)を返すため、同じ方法でIDにアクセスできます。

this.parentNode.id

...あなたがしたい必要があります。

于 2012-07-16T15:38:44.190 に答える
0

コールバックで親から取得するだけです。

function clickHandler(e){
    console.log(e.target.parentNode.id);
}
于 2012-07-16T15:38:11.010 に答える
0

そもそもなぜ合格する必要があるのですか?を介してdivにアクセスしparentNodeます。

onclick="doSomething(this);"

function doSomething(btn) {
   var div = btn.parentNode;
}
于 2012-07-16T15:38:27.560 に答える