gpt4 book ai didi

javascript - jQuery 看不到新创建的对象。如何刷新 DOM 对象列表?

转载 作者:行者123 更新时间:2023-12-02 18:26:02 24 4
gpt4 key购买 nike

在我的应用程序中,当用户单击按钮时,浏览器会创建新对象。例如:

$("#div1 svg").append("<ellipse id='#obj0' class='svgobjects'>");

它有效。它出现在Chrome开发工具中。然后我想使用一些数据设置椭圆的大小。

if (!$(ID).length > 0) {
console.log("Div doesn't exist");
} else {
console.log("I found it");
}
$(ID).attr("cx", data["startX"]).attr("cy", data["startY"]).attr("rx", this.rx).attr("ry", this.ry).attr("fill", data["color"]);

所有这些变量都可以。它们都包含正确的数据。但在控制台中出现:“Div 不存在”。

问题是:这个 div 存在并且具有与“ID”变量(“#obj0”)相同的 id。但尽管jquery说div不存在。

最佳答案

如果您使用 ID 选择ellipse 元素,请确保使用有效值正确设置它。

使用CSS(因此也使用jQuery),您可以使用#obj0来选择ID为obj0的元素,但是您没有这样的元素您有一个元素的 ID 定义为 #obj0,这是一个无效值。

要解决您的问题,请替换以下内容:

$("#div1 svg").append("<ellipse id='#obj0' class='svgobjects'>");

这样:

$("#div1 svg").append("<ellipse id='obj0' class='svgobjects'>");
<小时/>

编辑:

在 HTML5 中,ID #obj0 实际上是有效的(请参阅 http://www.w3.org/TR/html-markup/global-attributes.html ),但在这种情况下,您必须使用 $("#\#obj0")< 选择它 而不是 $("#obj0")

关于javascript - jQuery 看不到新创建的对象。如何刷新 DOM 对象列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18355379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com