我有一个模板生成器artisteer生成的以下菜单项:
<ul class="art-vmenu">
<li><a href="#" ><span class="l"></span><span class="r"></span>
<span class="t">Home</span></a></li>
<li><a href="#" ><span class="l"></span><span class="r"></span>
<span class="t">Create User</span></a></li>
<li><a href="#" class="active"><span class="l"></span><span class="r"></span>
<span class="t">List Users</span></a></li>
<li><a href="#"><span class="l"></span><span class="r"></span>
<span class="t">Admin</span></a></li>
</ul>
我想用一个jQuery函数来捕获<li>
的onclick事件:我已经尝试过了,这是不完整的:
$(document).ready(function()
{
$('ul.art-vmenu li').click(function(e)
{
alert(this);
});
});
我可以看到这是一个HTMLliElement,但是我不知道如何获取它的菜单文本或id?
jQuery通常是如何捕获菜单点击的?
发布于 2011-06-16 06:43:13
这里,获取触发事件的菜单的文本(似乎没有任何id):
$(document).ready(function()
{
$('ul.art-vmenu li').click(function(e)
{
alert($(this).find("span.t").text());
});
});
发布于 2011-06-16 06:39:50
我不太确定您的问题是什么,但是要获得li
元素的文本,您可以使用:
$(this).text();
要获取元素的id
,可以使用.attr('id');
。一旦你有了对你想要的元素的引用(例如$(this)
),你就可以对它执行任何jQuery函数。
发布于 2011-06-16 06:43:20
您可以使用jQuery的attrib函数获取ID或任何其他属性。
$('ul.art-vmenu li').attrib('id');
要获取t span中的菜单文本,可以执行以下操作:
$('ul.art-vmenu li').children('span.t').html();
要更改HTML也很简单:
$('ul.art-vmenu li').children('span.t').html("I'm different");
当然,如果您想首先获得所有的span.t,那么做起来会更简单:
$('ul.art-vemnu li span.t').html();
但我假设您已经获得了li,并希望使用child()在该元素中查找某些内容。
https://stackoverflow.com/questions/6365255
复制相似问题