【问题标题】:HTML Element Object vs ObjectHTML 元素对象与对象
【发布时间】:2012-10-17 10:05:07
【问题描述】:

谁能帮我解释一下为什么我无法为这段代码得到正确的结果?

    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(',');
... });

并且它正在使用该对象正确地完成它的工作。任何帮助将不胜感激......很多!提前致谢

【问题讨论】:

  • 这和你在coords列表后面漏了一句有关系吗?
  • 啊,不。只是复制粘贴的时候打错了。毕竟问题出在 DOM/Jquery 对象上。如果我可以投票支持下面的答案,我会的。

标签: javascript html object dictionary


【解决方案1】:

因为在您的示例中 items2 不是 DOM 元素,而是 jQuery 对象。正确的变体:

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

var items2 = $("#quadrant1");
var coords = items2[0].getAttribute('coords').split(',');

【讨论】:

    【解决方案2】:

    如果您需要获取原始 DOM 对象,请使用 $('#quadrant1').get()。为了实现它的功能jQuery 使用它自己的对象,但正如我上面提到的,你总是可以获得对原始 DOM 对象的引用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-02
      • 2016-09-17
      • 2021-03-23
      • 1970-01-01
      • 1970-01-01
      • 2014-01-02
      • 2012-03-23
      相关资源
      最近更新 更多