1

このコードで正しい結果が得られなかった理由を教えてください。

    Javascript:
    var items2 = $("#quadrant1");
    var coords = items2.getAttribute('coords').split(',');

    HTML:
    <map id="square_map" name="square">
        <area id="quadrant1" shape="poly" coords="206,10, 300,10, 388,10"></area>
    </map>

item2 の typeof を確認しましたが、これはただの OBJECT であり、適切な HTML AREA OBJECT を取得していないようです。後は要素オブジェクトを取得するだけなので、例のようにさらに操作を行ってその coords 属性値を取得できます。

[object HTMLAreaObject] である必要があることをどのように知ることができますか? よくわかりませんが、それは「これ」のタイプです

$('#square_map").bind("click",function(){
var coords = this.getAttribute('coords').split(',');
... });

そして、それはそのオブジェクトで適切に仕事をしています。どんな助けでも大歓迎です...たくさん!前もって感謝します

4

2 に答える 2

2

あなたの例では、items2はDOM要素ではなくjQueryオブジェクトであるためです。右のバリアント:

var items2 = $("#quadrant1");
var coords = items2.attr('coords').split(',');

また

var items2 = $("#quadrant1");
var coords = items2[0].getAttribute('coords').split(',');
于 2012-10-17T10:07:42.423 に答える
1

元の DOM オブジェクトを取得する必要がある場合は、$('#quadrant1').get(). その機能を実装するにjQueryは、独自のオブジェクトを使用しますが、前述のように、常に元の DOM オブジェクトへの参照を取得できます。

于 2012-10-17T10:10:20.677 に答える