- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有一些代码,
<div class="chunk" id="">
<div class="chunkContent">
<div class="textLeft" ></div>
<div class="textRight" ></div>
<div class="notes border">Notes...</div>
</div>
<div class="tools fl">
<div class="toggleNotes border">n</div>
<div class="addChunk border">+</div>
</div>
</div>
现在,div.tools 中嵌套的两个 div 是小按钮。 div.toggleNotes 我需要在 javascript/jquery 函数中选择 div.notes。 div.addChunk 我需要选择第一个div,div.chunk。目前,我正在这样做:
$(".addChunk").live('click', (function(){create_chunk(this.parentNode.parentNode)}))
$(".toggleNotes").live('click',function(){toggle_notes(this.parentNode.parentNode.firstElementChild.lastElementChild)})
有没有比将parentNotes和firstElementChild等串在一起更好(即更合适)的方法来做到这一点?我基本上是在 firebug 中查看 DOM 选项卡。
最佳答案
既然您用 jQuery 标记了您的问题,我假设您愿意使用它的遍历方法。这将确保跨浏览器支持。
如果是这样,你可以这样做:
&(".addChunk").live('click', function(){
create_chunk($(this).closest('.chunk')); // Get closest ancestor with class 'chunk'
});
$(".toggleNotes").live('click',function(){
toggle_notes($(this).parent().prev().find('.notes')); // Get parent element, traverse
}); // to its previous sibling,
// and find element with 'notes'
<小时/>
编辑:
或者,如果您愿意,也可以将 .closest()
用于 toggle_notes
。
$(".toggleNotes").live('click',function(){
toggle_notes($(this).closest('.chunk').find('.notes'));
});
<小时/>
相关 jQuery 文档:
.closest()
- http://api.jquery.com/closest/ .parent()
- http://api.jquery.com/parent/ .prev()
- http://api.jquery.com/prev/ .find()
- http://api.jquery.com/find/
jQuery 遍历方法 - http://api.jquery.com/category/traversing/
关于javascript - HTML/Javascript : Selecting uncles/aunts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2939929/
所以我有一些代码, Notes... n + 现在,div.tools
我想拖动一个可拖动的#red,嵌套在一些父级中,到一些可放置的#green,它位于div 结构。 div 的尺寸需要用 percent 表示(以响应),顶层 div 必须是 position: rel
我是一名优秀的程序员,十分优秀!