使用jQuery插件获取无序列表的子元素
我试图通过附加到css菜单的jquery函数获取列表值 我的代码如下使用jQuery插件获取无序列表的子元素,jquery,Jquery,我试图通过附加到css菜单的jquery函数获取列表值 我的代码如下 $.fn.appmenu = function(options){ //problem $(this).click(function(){ alert($(this).filter("ul li").html()); }); $(this).hover(function(){ $(this).filter("li").animate({
$.fn.appmenu = function(options){
//problem
$(this).click(function(){
alert($(this).filter("ul li").html());
});
$(this).hover(function(){
$(this).filter("li").animate({
top:"20px"
});
});
//this.find('li:last').after("<li>test</li>");
var lists = '<li title="Home" link="index.php"></li>';
$.each(options, function(index, value) {
lists += '<li style="background-image:url(images/'+value[1]+'.png);" title="'+value[0]+'" link="'+value[1]+'"></li>';
});
return this.html("<ul>"+lists+"</ul>")
}
欢迎提供任何帮助。您必须使用
find
而不是filter
-
filter
正在从当前集合中查找元素,find
正在从当前集合中的所有元素及其整个子元素中查找元素
但是,结果是相同的,因为
html
函数是从匹配元素中获取第一个元素中的整个html-在您的示例中,介于和之间的html结构不正确。
标记无效,jQuery不喜欢您的列表
变量内容
我把你的小提琴改了一点,但现在可以用了。请参阅。您也可以添加标记吗?
//title, icon, link
$("#app-menu").appmenu([
["add", "address", "#link1"],
["contact", "comment", "#link2"],
["about", "pencil", "#link3"]
]);