2012-07-12 76 views
0

我有HTML代码,这样sample.html内文件:如何在jQuery.load(html)之后选择jQuery.Treeview中的当前元素?

<ul id='topics' class='filetree'> 
<li><span class='folder'><a href='?Lang=en&TopicID=#'>Topics</a></span> 
<ul> 
<li><span class='folder'><a href='?Lang=en&TopicID=1'>Topic 1</a></span> 
<ul> 
<li><span class='file'><a href='?Lang=en&TopicID=1.1'>Topic 1.1</a></span></li> 
<li><span class='file'><a href='?Lang=en&TopicID=1.2'>Topic 1.2</a></span></li> 
<li><span class='file'><a href='?Lang=en&TopicID=1.3'>Topic 1.3</a></span></li> 
</ul> 
</li> 

使用JQuery.load我加载HTML文件,以便生成树状视图

<div id="LtrLeftContent"> 
    <script language="javascript" type="text/javascript"> 
     $('#LtrLeftContent').load('sample.html', function() { 
       $("#topics").treeview(); 
     }); 
    </script> 
</div> 

1号问题:如何找出当前节点文字。当点击一个树节点?
第二个问题:如何找出父节点+当前节点文本。当点击一个树节点?
第三个问题:如何将CSS设置为节点。当点击一个树节点?

尝试一些后,我得到当前元素

$("li span").click(function() { 
    alert($(this).text()); 
}); 

的完整代码像波纹管

<div id="LtrLeftContent"> 
     <script language="javascript" type="text/javascript"> 
      $('#LtrLeftContent').load('sample.html', function() { 
       $("#topics").treeview(); 
       $("li span").click(function() { 
        alert($(this).text()); 
       }); 
      });     
     </script> 
</div> 

回答

0
$('a').live('click', function (e) { 
    e.preventDefault(); 
    console.log($(e.currentTarget).text()); 
    console.log($(e.currentTarget).closest('.folder').text()); 

    // didn't quite get your last question 
    // but this is how you would manipulate 
    // the current elements parent list item 
    $(e.currentTarget).parents('li').css({ 
     'background-color': '#000' 
    }); 
    return false; 
});