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>

我检查了 items2 的 typeof,它只是 OBJECT,似乎没有得到正确的 HTML AREA OBJECT。我所要做的就是获取元素对象,这样我就可以像示例中那样做进一步的操作来获取它的 coords 属性值。

我怎么知道它应该是 [object HTMLAreaObject]?我不确定,但这就是“this”的类型

$('#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 回答