如何使用 jQuery 选择使用 javascript 动态创建的深度嵌套元素

How to use jQuery to select deeply nested elements created dynamically with javascript

提问人:Peter Orji 提问时间:3/12/2021 最后编辑:Peter Orji 更新时间:3/12/2021 访问量:137

问:

所以我的代码中有一个对象,我使用 js 根据用户交互将对象的属性添加到名为 rec 的数组中。然后我使用一个名为 unRec 的函数来获取数组的唯一元素。然后,我将 unRec 返回的值添加到 HTML 中。然后我使用 jquery 将每个值包装在锚标记中。所以代码基本上是这样的

obj= {
    0: "<span>module1</span>",
    1: "<span>module1</span>",
    2:"<span>module1</span>",
    3:"<span>module2</span>", 
    4:"<span>module2</span>", 
    5:"<span>module3</span>",
    6:"<span>module3</span>",
    7:"<span>module3</span>",
    8:"<span>module3</span>",
    9:"<span>module4</span>"
}
   function unRec(arr){
                preRec = [];
                    for (j of arr){
                        if (preRec.indexOf(j)=== -1) {
                                                    preRec.push(j);
                                            }
                            }
                            return (preRec);
            }
Recom.innerHTML = unRec(rec);

$('#congrat #recom span').wrap('<a href="modue1.html" class="disp"></a>')

现在我无法选择创建的锚点。因此,此功能不起作用

 $('#congrat #recom .disp').click(function(e) {
    var url = $(this).attr('href') + '#' + $(this).text();   
    $('#module').html('loading...).load(url); e.preventDefault(); 
 });

我尝试使用查找来选择锚点,但仍然不起作用。这是测试

    var t = $('#congrat #recom').find ('a').length;
    console.log(t);

HTML 基本上是这样的:

<div id="congrat">
    <span id="recom"></span>
</div> 
<div id="module">click on one of the modules above<div>

请提供解决方案来选择创建的锚点。提前致谢

jQuery 嵌套的 CSS 选择器 已选

评论

0赞 freedomn-m 3/12/2021
您已经提供了大量代码,这很好 - 您还能包括吗 - 理想情况下添加一个代码片段 (edit + ) 并有足够的代码来演示问题。查看 meta.stackoverflow.com/questions/358992/...unRec[<>]
0赞 freedomn-m 3/12/2021
您确定要添加 s 吗? 不会做任何编辑:我看到“unrec”是填充 #recom 位a$('#congrat #recom span').wrap<div id="congrat"><span id="recom">..nothing..</span></div>
0赞 Peter Orji 3/12/2021
我已经包含了 unRec 函数,尽管我确定它不负责无法选择锚点
0赞 freedomn-m 3/12/2021
那么问题来了,这段代码是在代码之前还是之后运行?$('#congrat #recom .disp').click(function(e)unRec
0赞 freedomn-m 3/12/2021
如果之前,则需要事件委派,更改以查看 stackoverflow.com/questions/203198/...$("#congrat #recom").on("click", ".disp", function...

答: 暂无答案