首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JSjQuery获取不到动态添加的元素节点的解决方法

今天写了一个添加图片的功能,要求右上角要有删除按钮,我使用 jQuery 动态添加的方式。...发现后添加的元素无法删除,打印显示 undefined ,原来 JavaScript 和 jQuery 无法获取动态添加的元素节点。...解决方法: 动态添加的标签要事件委托才能获取到节点,也就是说要用: $(selector).on(events,[selector],[data],fn) 属性解析: 参数 描述 events 一个或多个用空格分隔的事件类型和可选的命名空间...我们追加元素的父节点添加事件委托,就调用里面子节点了: 举个栗子,我在 .sup-img-box 中添加了子节点 .cert-img 。...,这里要保证该父级节点不是动态添加的,不然同样会获取不到。

7.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    原生js添加元素

    今天做页面使用的mui,因为使用mui情况下无法使用jquery,于是在ajax请求完毕添加元素的时候发现自己竟然对原生js添加元素的方法有点模糊了,真是越活越倒退了,赶紧整理一波。...首先最简单的innerHTML,这个不想多说,入门新手喜欢这么用,但他的缺点也很明显:不管你渲染部分还是全部,始终需要替换原先所有的子元素,也就是需要重复渲染,会增加浏览器压力。...接下来就是正题了,js推荐是这样进行元素添加: 1.创建游离元素节点:let div=document.createElement(“div”); 2.给创建元素添加属性:div.setAttribute...(“class”,”className”);注意setAttribute一次只能设置一条属性 3.创建文本节点:let textNode=document.createTextNode(“需要添加的文本...”); 4.将文本节点添加到元素节点中div.appendChild(textNode); 5.加元素节点插入文档:Parent.appendChild(div); over 发布者:全栈程序员栈长,转载请注明出处

    8.9K20

    js获取元素的几种形式

    通过id获取元素 document.getElementById('div');//获取id为div的元素 通过class获取 document.getElementsByClassName('top'...);//获取页面中所有的class为top的元素集合 通过标签名获取 document.getElementsByTagName('p');//获取页面中所有的标签为p的元素集合 通过name获取 document.getElementsByName...('user');//获取页面中所有的name为user的元素集合 注意:通过class,name标签名抓取的元素是一个集合,即使该类只有一个符合要求的元素目标,也返回是一个集合,因此可以存储的变量,通过变量名...[0]获得第一个符合要求的标签目标....简单可以将返回的当做一个存储符合的数组,通过下标进行找到指定的位置. 当然也可以使用数组的方法返回,集合的目标数. alert(tops.length)可以提示出class为top的目标数

    25.4K30

    jquery获取第几个子元素_js获取元素的指定子元素

    可以这样理解,页面中的元素有相同的父元素 的,并且里面又包含li元素的,那么就取第一个li元素,每个子类集合都要进行判断,直到找出所有符合要求的li元素; :last-child:这个也与上面相对了,...An+B的所有子节点,比如3n+1返回所处位置为父节点子元素的是3的倍数加1的那个子元素; :even:页面范围内的处于偶数位置的元素,如:li:even返回全部偶数li元素; :odd:页面范围内的处于奇数位置的元素...F的所有子元素(F可以为E的子类的子类,甚至更远); E>F:匹配父元素E下的所有标签名为F的直接子元素; E+F:匹配所有标签名为F的元素,并且有E类型的兄弟节点在该F元素之前(E,F紧挨着); E~...C等效于*.C; E#I:匹配id为I的所有元素E,#I等效于*#I; E[A]:匹配带有属性A的所有元素E; E[A=V]:匹配所有属性A的值为V的元素E; E[A^=V]:匹配所有元素E,且A的属性值是...,button[type=reset]; :submit:选择提交按钮元素; :text:选择文本字段元素,即input[type=text]; :animated:选择当前处于动态控制下的元素;

    27.2K30

    js动态添加div

    问题 有没有遇到过这样的需求, 在页面上会有不定个input, 点击添加按钮就添加 ?...点击第一行的添加 点击的时候, 将div准备好, 添加到内容div中的第一个 点击每行的添加 将div添加到当前点击行后面一个 点击每行删除 删除当前div 实现 基本思路很简单, 只要在每个点击按钮上添加对应的点击事件...我在封装的时候喜欢先想用的时候怎么用, 然后根据这个思路来想应该怎么封装, 思考如下 因为添加的div肯定是不同的, 是需要传的参数, 但是如果直接传div字符串也太丑了, 应该在页面直接写HTML,...this.addSuccessFunction(divItem, this.secp); // 序号迭代 this.secpIter(); // 条目+1 this.num++; }; // 向元素后面添加...this.addSuccessFunction(divItem, this.secp); // 序号迭代 this.secpIter(); // 条目+1 this.num++; }; // 获取当前序号的

    24.5K40

    如何实现动态添加的元素添加点击事件

    在页面开发过程中常常遇到需要动态添加元素,然后给这一元素绑定相关事件的情况,这种情况下一般需要给元素加上相关属性,然后写这些元素的事件函数即可。动态添加的元素怎么绑定事件呢?...原生JavaScript 原生JavaScript主要有2种实现方式,第一种是在动态添加的html代码中添加oclick事件,然后传递一个唯一的参数来判断点击的是哪个,然后做相应的操作。...该事件附加到staticAncestors应处理的元素的静态父级 ( )。 每次在此元素或后代元素之一上触发事件时,都会触发此 jQuery 处理程序。...eventName, function(){} ); 可以替换为以下on()方法: $(document).on( eventName, selector, function(){} ); ---- 例如,如果您的页面使用类名动态创建元素...,dosomething您会将事件绑定到已经存在的父级(这是这里问题的核心,您需要绑定到存在的东西,不要绑定到动态内容),这可以(也是最简单的选项)是document.

    4K20
    领券