【问题标题】:Selecting an element created using document.createElement jquery/javascript选择使用 document.createElement jquery/javascript 创建的元素
【发布时间】:2014-01-24 00:13:02
【问题描述】:

我正在使用 document.createElement 创建一些 div 和 ul 元素。在某种情况下,当我创建这些元素时,我需要参考我在上面创建的元素之一,并将其​​作为父元素分配给下一个要创建的元素。

我有创建元素的 id(例如“idoftheelement”)但是当我这样做时

    $('#idoftheelement') 

我没有得到元素。

是否有可能获取元素。如果是怎么办?

编辑:

下面是我试图根据 JSON 输入数据生成的 html 结构。 JSON 数组中的每个元素都可以有一个子元素数组。所有元素都将具有相同的标记,不同之处仅在于它们的放置位置。我必须以递归方式构造它,即为每个 JSON 元素检查是否存在子元素(并且子元素也可以包含子元素),如果是,那么我应该将这些子元素附加到相应的父线程块。这就是为什么我需要知道是否有直接的方法来获取当前元素上下文中的父元素的引用,以便可以附加它。

<div id="comment-12345">
<div id="threads-block-12345"
    <ul id="thread-12345">
        <li id="thread-item-12346">
            <div id="comment-12346">
                <div id="threads-block-12346"
                    <ul id="thread-12346">
                        <li id="thread-item-12347">
                            <!--keeps growing if there till all the children are processed-->
                        </li>
                    </ul>
                </div>
            </div>
        </li>
        <li>
            <div id="comment-xyz">
                <div id="threads-block-xyz"
                    <ul id="thread-xyz">
                        <li id="thread-item-xyz">
                            <!--keeps growing if there till all the children are processed-->
                        </li>
                    </ul>
                </div>
            </div>              
        </li>
    </ul>
</div>

【问题讨论】:

  • 请发一个完整的代码示例。
  • 你能创建一个 jsfiddle 吗?
  • 你如何“创建多个 div” - 需要代码
  • 为什么需要使用 ID?为什么不直接将元素保存在变量中并直接使用呢?
  • 你在引用之前附加了元素吗?

标签: javascript jquery dom


【解决方案1】:

代码$('#idoftheelement') 告诉我你正在使用jQuery,所以你不应该使用document.createElement。您需要做的是使用 jQuery 创建元素并通过该变量引用它。例如:

var $node = $("<div id='" + id + "'>")

$node.append( ... new elements ... )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    相关资源
    最近更新 更多