2 qq 34439125 qq_34439125 于 2016.09.14 09:54 提问

js中元素append(<option>)后,为什么之前的父元素的length不=0

图片说明
图片说明
图片说明
判断条件只有把实际代码的option都删除才生效,页面中点击all→后为啥判断条件不生效?

4个回答

chenhui_
chenhui_   2016.09.14 09:57

你有没有把原来的option都remove掉

qq_34439125
qq_34439125 不是吧我还得克隆吗?你看看下面的图
接近 2 年之前 回复
qq_34439125
qq_34439125   2016.09.14 10:04

点击之前
点击之后

whangdiao1
whangdiao1   2016.09.14 10:08

你只是hidden了 并没有remove啊 你用$(".target-select").remove试下

zhuzige521888
zhuzige521888   2016.09.14 10:23

判断的时候选择器后面加[selected=true]
即 $(".target-select option").length==0
==》 $(".target-select option[selected=true]").length==0

zhuzige521888
zhuzige521888 $opt.attr("selected",false); ==> $opt.attr("checked",false); 属性错了改成checked
接近 2 年之前 回复
qq_34439125
qq_34439125 谢谢,不过不行呀
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
jquery追加元素的几种方法(append()、prepend()、after()、before()、insertAfter()、insertBefore())
最近项目不是很忙,抽空整理了下,js中常用追加元素的几种方法。&amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &amp;lt;title&amp;gt;js中常用追加元素的几种方法&amp;lt;/title&amp;gt; &amp;lt;link rel=&quot;stylesheet&quot; h
关于下拉框append option后没有选项的原因
这两天遇到的关于在jQuery中给对应select 下拉框append选项时,页面一直无法弹出下拉框选项,但是控制台中选择元素却可以看到代码中添加了相应的option,一直没找出原因耗费了很长时间。最后询问同事,添加了   $('.selectpicker').selectpicker('render');                         $('.selectpic
js 删除append标签添加的元素
问题情境:通过append添加的元素(标签),每次执行这个js方法时,就会再次拼接,所以要进行判断,如果存在便删除。 这个问题本身并不复杂,但是我在写的时候短路了,$("#id") 我没有写引号,结果以为直接通过if($("#id") )判断是否存在不可行,于是便绕道而行,但虽费劲周折却也学到了很多知识,下面整理一下。 1,为了方便删除append添加的元素,应把要拼接的标签定义成一个jQue
jquery中动态增加select,事件无效问题
近来做项目,用的jquery1.6.2库,当动态增加div 及select时,事件却不起作用。    查了一些资料,发现bind事件:向匹配元素附加一个或更多事件处理器。而live事件:为当前或未来的匹配元素添加一个或多个事件处理器。    其资料如下: 【bind和live的区别】 live方法其实是bind方法的变种,其基本功能就同bind方法的功能是一样的,都是为一个元素绑定某个事件
解决jQuery使用append添加的元素事件无效的方法
jquery api官方的例子在新增的元素上添加事件 $(document).on("click",'#lyysb a',function(){ if(!$(this).hasClass('cur')){ $(this).addClass('cur'); } else { $(this).removeClass('cur'); } });on() 方法在被选元素及子元素上
js append追加html代码标签后 css样式没生效 js同时没有生效 已解决
html代码 添加input css代码 .box{ width: 500px; height: 300px; border-radius:8px; border:1px solid #f0f; margin-bottom: 20px; padding: 5%; } .box input{ border:0px; background: skyblu
getElementsByName 为什么不起作用(长度为0)
getElementsByName 为什么不起作用(长度为0) 今天研发的同事写原生js的时候事件一直不执行,让过去帮忙调试,过去后看到他用的是getElementsByName属性,这个属性我基本没用过,一般用的是获取Id或者TagName。看到w3c对这个方法的解释,感觉别人用的很合情合理,于是在这个基础上一直试,获取数组长度一直为0,而且各种获取内容的方法都用了,就是不起作用,最后无奈
解决DIV中元素append手机浏览器追加问题
最近在做一个web项目,遇到了一个问题,那就是div中的元素用append来追加的元素,pc端能正常的显示,而到了手机浏览器中,却没有生效,以至于查了很多资料, 都没有找到其解决的方法,最后才发现用appendChild代替append,就解决了其问题,在此做一个记录,希望遇到此问题的同学可以谨记。
js数组length属性失效
var arr = []; arr['a'] = 1; arr['b'] = 2; arr['c'] = 3; // 此时长度为0:在键为字符串的时候length长度不增加 arr[8] = 4; // 此时长度为9:因为最大的非字符串键是8所以长度为9
append、appendTo、appendChild、prepend
参考资料:http://blog.csdn.net/xiangxiangw29/article/details/52460563 append、appendTo、appendChild、在父节点中的最后一个子节点后面插入。append和appendTo区别是append的前面是对象,后面是要插入的节点对象。 比如append     var wrap=document.getElementBy