0

我使用以下代码创建一个新的 DOM 元素并分配一个值。

var xCoordElem = document.createElement("xCoord");
xCoordElem.nodeValue=Canvas.paper.someCircle.attr('cx');

在哪里Canvas.paper.someCircle使用

Canvas.paper = Raphael(xOffset,yOffset,width,height);
Canvas.someCircle = Canvas.paper.circle(x, y, radius);

然后我打电话

alert("Canvas.paper.someCircle .attr('cx')=" + Canvas.paper.someCircle .attr('cx');
alert("xCoordElem.nodeValue=" + xCoordElem.nodeValue);

第一个警告框给出“Canvas.paper.someCircle .attr('cx')=562”,而第二个警告框给出“xCoordElem.nodeValue=null”。我在 FireFox 上测试这个,使用 FireBug 和 FireBug 也说xCoordElem.nodeValue=null

我希望使(在本例中为 562)xCoordElem.nodeValue的值Canvas.paper.someCircle .attr('cx')而不是null.

4

1 回答 1

1

使用 .prop() 方法而不是 attr。从 jQuery 1.6 开始,.attr() 方法为尚未设置的属性返回 undefined。要检索和更改 DOM 属性,例如表单元素的选中、选择或禁用状态,请使用 .prop() 方法。- 来自 Jquery API 文档。

http://api.jquery.com/attr/

于 2013-04-08T17:07:14.417 回答