0
我怎樣才能點擊第一層標籤而不是第一層嵌入的其他標籤?如何不點擊標籤<a>?
例如,這將HTML,
<!-- tile-tag -->
<div class="tile-tag">
<h3>tags</h3>
<ul>
<li>
<span>+</span><a href="#">pr</a>
<ul>
<li><span>_</span><a href="#">sub tag</a></li>
<li><span>_</span><a href="#">sub tag</a></li>
</ul>
</li>
<li>
<span>+</span><a href="#">interfaith</a>
<ul>
<li><span>_</span><a href="#">sub tag</a></li>
<li><span>_</span><a href="#">sub tag</a></li>
</ul>
</li>
<li>
<span>+</span><a href="#">green</a>
<ul>
<li><span>_</span><a href="#">sub tag</a></li>
<li><span>_</span><a href="#">sub tag</a></li>
</ul>
</li>
<li>
<span>+</span><a href="#">Tole-rants</a>
<ul>
<li><span>_</span><a href="#">sub tag</a></li>
<li><span>_</span><a href="#">sub tag</a></li>
</ul>
</li>
<li>
<span>+</span><a href="#">media-training</a>
<ul>
<li><span>_</span><a href="#">sub tag</a></li>
<li><span>_</span><a href="#">sub tag</a></li>
</ul>
</li>
<li>
<span>+</span><a href="#">public speaking</a>
<ul>
<li><span>_</span><a href="#">sub tag</a></li>
<li><span>_</span><a href="#">sub tag</a></li>
</ul>
</li>
<li>
<span>+</span><a href="#">ethics</a>
<ul>
<li><span>_</span><a href="#">sub tag</a></li>
<li><span>_</span><a href="#">sub tag</a></li>
</ul>
</li>
<li>
<span>+</span><a href="#">clients</a>
<ul>
<li><span>_</span><a href="#">sub tag</a></li>
<li><span>_</span><a href="#">sub tag</a></li>
</ul>
</li>
<li>
<span>+</span><a href="#">people</a>
<ul>
<li><span>_</span><a href="#">sub tag</a></li>
<li><span>_</span><a href="#">sub tag</a></li>
</ul>
</li>
</div>
<!-- tile-tag -->
jQuery的,
$('.tile-tag a').click(function(){
//alert($(this).text());
// Set the variable.
var parent_object = $(this).parent();
var siblings_parent = parent_object.siblings();
// Clean all siblings' style.
siblings_parent.removeClass('current-tag');
$('span:first',siblings_parent).html('+');
$('ul',siblings_parent).slideUp('fast');
// Attach style to object's parent.
parent_object.toggleClass('current-tag');
$('ul',parent_object).slideToggle('fast');
// Swap the object's parent's span html
if(parent_object.hasClass('current-tag')) $('span:first',parent_object).html('–');
else $('span:first',parent_object).html('+');
return false;
});
$('.tile-tag a')
這將適用於所有標籤,包括子標籤。但我不會將此代碼應用於子標籤。
我該如何做到這一點?
是的,只有第一個ul中的那個。謝謝! :-) – laukok 2011-05-15 15:51:54