请看一下这个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; 在元素未被封闭的情况下,元素本身必须被生成.
如果未选中复选框,如果选中同一组(具有相同类?)的其他复选框,则不应删除该类.请注意有几组复选框.
http://jsfiddle.net/mirluin/3MpYw/1/
<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) 我所处的元素数量是可变的,我需要一个我无法实现的奇怪解决方案,我甚至怀疑它是否只能用css实现.
如果我的元素数是奇数,我需要选择last-child,如果元素数是偶数,我需要选择最后2个子元素.
我一直试图用nth-last-child,:not(:nth-last-child())单双,但一直没有得到很好的解决.
任何人都有关于这个问题的任何想法/建议是在html表上添加类"奇怪"的一部分吗?
非常感谢提前!
我有一个具有以下性质的复杂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).无论如何你可以这样做吗?
网页是这样的:
<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)
但是,如果我想获得相同的结果,我应该如何处理第一个网页?
假设我在同一个DOM级别上有一堆div.当我将鼠标悬停在一个上面时,我希望所有其他人改变样式(即减少不透明度或改变背景),而悬停的那个保持不变.
我不能使用+或~选择器,因为我需要它来选择所有兄弟姐妹,而不仅仅是直接相邻的兄弟姐妹或只有以下兄弟姐妹.基本上我正在寻找的是"所有兄弟姐妹,但这一个"选择器.这存在吗?有没有办法在没有JavaScript的情况下实现这一目标?
所以这就是我要做的事情:
我有两个并排的图标,下面有两个隐藏的跨度.当我将鼠标悬停在图标上时,我想要显示相应的跨度.
------------ 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?
我有以下文件结构:
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) 我有以下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 previoussibling和previouselementsibling有什么区别。我尝试过,但没有发现任何可比较或描述此问题的问题或文章。也许这是出于我对JavaScript的一点了解,但如果能对其加以解释,我将不胜感激。
非常感谢。