首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何选择嵌套在另一个div中的div by id?

问如何选择嵌套在另一个div中的div by id?
EN

Stack Overflow用户
提问于 2014-12-04 15:49:51
回答 7查看 1.6K关注 0票数 0

现在,我有一些html,看起来像这个曾经呈现的。

代码语言:javascript
复制
<div id="MyPartial">
    <div id="div+1"></div>
    <div id="div+2"></div>
    <div id="div+3"></div>
</div>

MyPartial div中的所有div都是动态的。所以可能有3个,也可能没有。我正试图通过ID一次移除它们。

代码语言:javascript
复制
$("#div+" + Id).remove() 

这不管用,所以我试了一下

代码语言:javascript
复制
$("#MyPartial").children().select("#div+" + Id).remove();

这将删除整个“MyPartial”div。

我遗漏了什么?在过去,第一种说法对我来说一直都很好,但现在看来,嵌套似乎把事情搞砸了。

编辑:加号把我搞砸了。我把它改为下划线,效果很好。谢谢大家。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-12-04 15:56:51

不要在您的id中使用加号(+)!它是一个选择器(参见http://api.jquery.com/next-adjacent-Selector/)

如果你真的想在你的is中使用加号,你应该转义它(参见http://api.jquery.com/category/selectors/)

示例:

代码语言:javascript
复制
$('#div\\+1').remove();
票数 4
EN

Stack Overflow用户

发布于 2014-12-04 15:57:16

类和id属性中不允许使用+。在CSS中,+有一个选择器--意思是。意思是:选择下一个邻接元素。

也许这就是为什么jQuery不能选择您的元素。试着给你的身份证其他名字,如div_1,'div_2`,.

之后,您可以根据元素的id选择一个元素,如so $('#div_1')。

因为id在整个文档中应该是唯一的,所以这个选择器应该与$('#myPartial #div_1')相同。

票数 2
EN

Stack Overflow用户

发布于 2014-12-04 15:59:05

使用$("#div+" + Id).remove()。

尽管如此,ids始终是唯一的。或者他们应该。因此,没有必要在父母内部找到。看见

7.5.2元素标识符: id和class属性属性定义id = name CS该属性为元素分配名称。此名称在文档中必须是唯一的。

请参阅裁判员

编辑:根据评论,这是正确的说法,这是不起作用和这项工作。

$('#div\+1').remove();

再说一遍,请参阅这个问题,尽管我不禁止使用加号,但jquery有问题。如果可能,我将删除加号,如果没有,那么使用转义版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27298211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档