HTML/Javascript:选择叔叔/婶婶

HTML/Javascript:选择叔叔/婶婶,javascript,jquery,css-selectors,Javascript,Jquery,Css Selectors,所以我有一些代码 <div class="chunk" id=""> <div class="chunkContent"> <div class="textLeft" ></div> <div class="textRight" ></div> <div class="notes border">Notes...</div> </d

所以我有一些代码

<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>
有没有比把parentNotes和firstElementChild的等串在一起更好(即更合适)的方法呢。?我基本上是在firebug中查看DOM选项卡。

关于:

$("div:.addChunk").live('click', function() {
    create_chunk($(this).parent().parent());
});

$("div:.toggleNotes").live('click',function() {
    toggle_notes($(this).parent().siblings('div:.chunkContent').find('div:.notes'));
});​
那么:

$("div:.addChunk").live('click', function() {
    create_chunk($(this).parent().parent());
});

$("div:.toggleNotes").live('click',function() {
    toggle_notes($(this).parent().siblings('div:.chunkContent').find('div:.notes'));
});​

既然您使用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()

$(".toggleNotes").live('click',function(){
   toggle_notes($(this).closest('.chunk').find('.notes'));
});  

相关jQuery文档:

  • .closest()
    -
  • .parent()
    -
  • .prev()
    -
  • .find()
    -

  • jQuery遍历方法-


既然您用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()

$(".toggleNotes").live('click',function(){
   toggle_notes($(this).closest('.chunk').find('.notes'));
});  

相关jQuery文档:

  • .closest()
    -
  • .parent()
    -
  • .prev()
    -
  • .find()
    -

  • jQuery遍历方法-


您可以使用jQuery的选择器来实现这一点,但似乎您可以使用类或ID以一种不太复杂的方式来实现这一点。

您可以使用jQuery的选择器来实现这一点,但是,似乎您可以使用类或ID以一种不太复杂的方式来完成此任务。

为什么不使用ID来选择它们?为什么不使用ID来选择它们?