jquery:如何获取不包含div的html?

发布于 2024-10-16 04:25:58 字数 286 浏览 3 评论 0原文

这是我的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

朦胧时间 2024-10-23 04:25:58

首先,我不知道以数字开头你的 ID 是否是一个好主意。这可能是我早期 VB6 编程时代的遗留问题,但我总是将 id 设置为类似于 item1item2 的东西。话虽这么说,如果你想选择前两个 div,请尝试

$('#content #item1, #content #item2')

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 and item2. That being said, if you want to selected the first two divs, try

$('#content #item1, #content #item2')
沩ん囻菔务 2024-10-23 04:25:58

当您不知道内部 div 的 id 时,很好的解决方案 - 将始终有效。如果需要,您还可以在 children 方法中指定类。

$('#content').children('div').slice(0, 2);

Good solution, when you don't know ids of inner divs - will always work. You can additionally specify class in children method if nedded.

$('#content').children('div').slice(0, 2);
坏尐絯℡ 2024-10-23 04:25:58

你的问题似乎暗示你正在谈论一个字符串。如果是这样,请选择 children()(docs)remove()(docs) 通过使用 slice()(docs) 方法。

然后使用 end()(docs) 方法返回到初始元素。

示例: http://jsfiddle.net/vhsA5/

var myHtml = $(data).children().slice(-1).remove().end().end().html();

编辑: 我注意到,如果您发布的 HTML 字符串是较大 HTML 部分的较小部分,您可能需要将 .find('#content') 添加回来在 .children() 之前。

Your question seems to imply that you're talking about a String. If so, select the children()(docs) and remove()(docs) the one you don't want from the matched set by referencing the last one with the slice()(docs) method .

Then use the end()(docs) method to get back to the initial element.

Example: http://jsfiddle.net/vhsA5/

var myHtml = $(data).children().slice(-1).remove().end().end().html();

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().

女皇必胜 2024-10-23 04:25:58

或许?
var myHtml = $(data).contents().find("#content").not("#3").html();

maybe?
var myHtml = $(data).contents().find("#content").not("#3").html();

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文