标签: siblings

DOM(JavaScript):当父级有兄弟姐妹时,如何获取元素的父级

请看一下这个HTML代码示例:

<div>
    <div></div>
    <div><!-- my target node -->
        <div><!-- not my target node -->
            <img /><!-- my source node -->
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,img标签有两个封闭的div.我希望这两个封闭的div中的第一个被认为是img标签的"真正的"父级(我需要找到的),因为它之前有一个兄弟div,所以搜索结束,兄弟div和外部封闭的div是忽略.
我只是想知道如何获取元素之父,就像我用javascript代码解释的那样.
注意:在没有兄弟姐妹的情况下,必须产生外部div; 在元素未被封闭的情况下,元素本身必须被生成.

javascript dom parent siblings dom-traversal

9
推荐指数
1
解决办法
2万
查看次数

jquery removeClass仅当取消选中同一组(具有相同的类?)的所有复选框时

问题

如果未选中复选框,如果选中同一组(具有相同类?)的其他复选框,则不应删除该类.请注意有几组复选框.

(部分)工作小提琴

http://jsfiddle.net/mirluin/3MpYw/1/

Html代码

<form method="get" action="#" class="taxonomy-drilldown-checkboxes">
    <div class="btn-group taxonomy-search-btn" id="terms-clipping_bu">
        <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
            Business Units
            <span class="caret"></span>
        </a>

        <ul class="dropdown-menu">
            <li class="term-item ">
                <label>
                <input type="checkbox" name="qmt[clipping_bu][]" value="4" checked="checked" />Bu1</label>
            </li>
            <li class="term-item ">
                <label>
                <input type="checkbox" name="qmt[clipping_bu][]" value="27" checked="checked" />Bu2</label>
            </li>
            <li class="term-item ">
                <label>
                <input type="checkbox" name="qmt[clipping_bu][]" value="31" />Bu3</label>
            </li>
        </ul>
    </div>

    <div class="btn-group taxonomy-search-btn" id="terms-clipping_market">
        <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
            Markets
            <span class="caret"></span>
        </a>

        <ul class="dropdown-menu">
            <li class="term-item ">
                <label>
                <input type="checkbox" …
Run Code Online (Sandbox Code Playgroud)

checkbox jquery parent siblings

9
推荐指数
1
解决办法
1562
查看次数

奇数时选择最后一个孩子,偶数时选择最后两个孩子

我所处的元素数量是可变的,我需要一个我无法实现的奇怪解决方案,我甚至怀疑它是否只能用css实现.

如果我的元素数是奇数,我需要选择last-child,如果元素数是偶数,我需要选择最后2个子元素.

我一直试图用nth-last-child,:not(:nth-last-child())单双,但一直没有得到很好的解决.

任何人都有关于这个问题的任何想法/建议是在html表上添加类"奇怪"的一部分吗?

非常感谢提前!

css css-selectors siblings

9
推荐指数
2
解决办法
4027
查看次数

beautifulsoup:找到第n个元素的兄弟姐妹

我有一个具有以下性质的复杂html DOM树:

<table>
    ...
    <tr>
        <td>
            ...
        </td>
        <td>
            <table>
                <tr>
                    <td>
                        <!-- inner most table -->
                        <table>
                            ...
                        </table>

                        <h2>This is hell!</h2>
                    <td>
                </tr>
            </table>
        </td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我有一些逻辑来找出最内层的表.但在找到它之后,我需要获得下一个兄弟元素(h2).无论如何你可以这样做吗?

python beautifulsoup find siblings

8
推荐指数
1
解决办法
7460
查看次数

找到下一个兄弟姐妹,直到某个人使用beautifulsoup

网页是这样的:

<h2>section1</h2>
<p>article</p>
<p>article</p>
<p>article</p>

<h2>section2</h2>
<p>article</p>
<p>article</p>
<p>article</p>
Run Code Online (Sandbox Code Playgroud)

如何在其中找到包含文章的每个部分?也就是说,找到h2后,找到nextsiblings

直到下一个h2.

如果网页如下:(通常情况下)

<div>
<h2>section1</h2>
<p>article</p>
<p>article</p>
<p>article</p>
</div>

<div>
<h2>section2</h2>
<p>article</p>
<p>article</p>
<p>article</p>
</div>
Run Code Online (Sandbox Code Playgroud)

我可以编写如下代码:

for section in soup.findAll('div'):
...
    for post in section.findAll('p')
Run Code Online (Sandbox Code Playgroud)

但是,如果我想获得相同的结果,我应该如何处理第一个网页?

python beautifulsoup find siblings scrape

8
推荐指数
1
解决办法
2万
查看次数

当一个元素悬停时,更改所有其他元素的样式

假设我在同一个DOM级别上有一堆div.当我将鼠标悬停在一个上面时,我希望所有其他人改变样式(即减少不透明度或改变背景),而悬停的那个保持不变.

我不能使用+~选择器,因为我需要它来选择所有兄弟姐妹,而不仅仅是直接相邻的兄弟姐妹或只有以下兄弟姐妹.基本上我正在寻找的是"所有兄弟姐妹,但这一个"选择器.这存在吗?有没有办法在没有JavaScript的情况下实现这一目标?

css hover siblings selector

8
推荐指数
1
解决办法
4194
查看次数

CSS兄弟选择器w/Hover

所以这就是我要做的事情:

我有两个并排的图标,下面有两个隐藏的跨度.当我将鼠标悬停在图标上时,我想要显示相应的跨度.

------------ HTML部分-----------------

<span class="icons"><!--ICONS-->
    <li class="oneLI">one</li>
    <li class="twoLI">two</li>
</span>

<span class="popups">
    <span class="one"></span>
    <span class="two"></span>
</span>
Run Code Online (Sandbox Code Playgroud)

-------------- CSS部分--------------

span.popups span.one,span.popups span.two{opacity:0;

span.icons:first-child:hover + span.popups span.one{opacity:1}
span.icons:last-child:hover + span.popups span.two{opacity:1}
Run Code Online (Sandbox Code Playgroud)

现在很明显这不太有效,我怎样才能使用CSS?

http://jsfiddle.net/RLhKK/

html css siblings selector

8
推荐指数
1
解决办法
2万
查看次数

如何从python3中的同级目录导入?

我有以下文件结构:

bot
??? LICENSE.md
??? README.md
??? bot.py # <-- file that is executed from command line
??? plugins
?   ??? __init__.py
?   ??? debug.py
?   ??? parsemessages.py
??? helpers
?   ??? __init__.py
?   ??? parse.py
?   ??? greetings.py
??? commands
    ??? __init__.py
    ??? search.py
Run Code Online (Sandbox Code Playgroud)

bot.py当从命令行执行时,将加载plugins目录中的所有内容。

我想从目录plugins/parsemessages.py导入,所以我这样做:parsehelpers

# parsemessages.py
from ..helpers import parse
parse.execute("string to be parsed")
Run Code Online (Sandbox Code Playgroud)

python3 bot.py从命令行运行。

我收到以下错误:

File "/home/bot/plugins/parsemessages.py", line 2, in <module>
  from ..helpers import parse
ValueError: …
Run Code Online (Sandbox Code Playgroud)

siblings python-import importerror python-3.x

8
推荐指数
1
解决办法
2391
查看次数

jquery兄弟姐妹如何删除类?

我有以下jQuery:

<script type="text/javascript">
$('.showFood').on('click', function () {
    $(this).addClass('selected').siblings().removeClass('selected');
    $('.targetFood').hide();
    $('#food' + $(this).data('target')).show(function() {
        $('#food' + $(this).data('target')).toggle("slide");
    });
});
$('.showFood').first().click();
</script>
Run Code Online (Sandbox Code Playgroud)

以下HTML:

<ul class="menus-nav">
<li><a href="#menu1" class="showFood" data-target="1">Menu 1</a></li>
<li><a href="#menu2" class="showFood" data-target="2">Menu 2</a></li>
<li><a href="#menu3" class="showFood" data-target="3">Menu 3</a></li>
</ul>
<div id="food1" class="targetFood">
<p>Items from menu 1</p>
</div>

<div id="food2" class="targetFood">
<p>Items from menu 2</p>
</div>

<div id="food3" class="targetFood">
<p>Items from menu 3</p>
</div>
Run Code Online (Sandbox Code Playgroud)

一切正常,除非您浏览菜单时不会删除所选的类,一旦您单击所有菜单,它们都会选择该类.

我在javascript或jquery方面没有很好的经验,你们有些人可以给我一些帮助吗?

注意:html已经减少用于演示目的.

小提琴

javascript jquery siblings

7
推荐指数
2
解决办法
1万
查看次数

上一个兄弟元素和上一个元素兄弟元素之间的区别

我想知道我是否知道javascript previoussiblingpreviouselementsibling有什么区别。我尝试过,但没有发现任何可比较或描述此问题的问题或文章。也许这是出于我对JavaScript的一点了解,但如果能对其加以解释,我将不胜感激。

非常感谢。

javascript dom compare element siblings

7
推荐指数
1
解决办法
3186
查看次数