jquery:如何获取不包含div的html?
这是我的 html,
loaded-data = "
<div id='content'>
<div id='1'></div>
<div id='2'></div>
<div id='3'></div>
</div>"
var myHtml = $(data).find('#content').html(); // i get all 3 divs
如果我想排除 div 3 怎么办?
this is my html
loaded-data = "
<div id='content'>
<div id='1'></div>
<div id='2'></div>
<div id='3'></div>
</div>"
var myHtml = $(data).find('#content').html(); // i get all 3 divs
what if i want to exlude div 3?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
首先,我不知道以数字开头你的 ID 是否是一个好主意。这可能是我早期 VB6 编程时代的遗留问题,但我总是将 id 设置为类似于
item1
和item2
的东西。话虽这么说,如果你想选择前两个 div,请尝试Firstly, I don't know that it's a good idea to start your ID's with numbers. It may be a holdover of my early VB6 programming days, but I always make id's something like
item1
anditem2
. That being said, if you want to selected the first two divs, try当您不知道内部 div 的 id 时,很好的解决方案 - 将始终有效。如果需要,您还可以在
children
方法中指定类。Good solution, when you don't know ids of inner divs - will always work. You can additionally specify class in
children
method if nedded.你的问题似乎暗示你正在谈论一个字符串。如果是这样,请选择
children()
(docs) 和remove()
(docs) 通过使用slice()
(docs) 方法。然后使用
end()
(docs) 方法返回到初始元素。示例: http://jsfiddle.net/vhsA5/
编辑: 我注意到,如果您发布的 HTML 字符串是较大 HTML 部分的较小部分,您可能需要将
.find('#content')
添加回来在.children()
之前。Your question seems to imply that you're talking about a String. If so, select the
children()
(docs) andremove()
(docs) the one you don't want from the matched set by referencing the last one with theslice()
(docs) method .Then use the
end()
(docs) method to get back to the initial element.Example: http://jsfiddle.net/vhsA5/
EDIT: I'd note that if the HTML string you posted is a smaller part of a larger bit of HTML, you'll likely need to add the
.find('#content')
back in before.children()
.或许?
var myHtml = $(data).contents().find("#content").not("#3").html();
maybe?
var myHtml = $(data).contents().find("#content").not("#3").html();