Javascript 获取所有菜单时遇到问题>;jquery中的li
大家好,我在1页上有一些导航,如下所示:Javascript 获取所有菜单时遇到问题>;jquery中的li,javascript,jquery,Javascript,Jquery,大家好,我在1页上有一些导航,如下所示: <div class="menu"> <ul> <li>link here</li> <li>Link Here</li> </div> 链接此处 链接此处 我在一页上有2或3个 我很难让它们进入jquery中的选择和选项框 如果我在一个页面上只有1个菜单,它可以100%工作,但因为我在一个页面上有2或3个菜单,有时它只将第一个菜单输入到所有下拉选择框中
<div class="menu">
<ul>
<li>link here</li>
<li>Link Here</li>
</div>
- 链接此处
- 链接此处
我在一页上有2或3个
我很难让它们进入jquery中的选择和选项框
如果我在一个页面上只有1个菜单,它可以100%工作,但因为我在一个页面上有2或3个菜单,有时它只将第一个菜单输入到所有下拉选择框中
以下是jquery:
jQuery("<select />").appendTo(".menu");
jQuery("<option />", {"selected": "selected","value" : "","text" : "Navigation Menu"}).appendTo(".menu select");
jQuery(".menu ul li a").each(function() {
var el = jQuery(this);
jQuery("<option />", {"value" : el.attr("href"),"text" : el.text()}).appendTo(".menu select");
});
jQuery(".menu select").change(function() {
window.location = jQuery(this).find("option:selected").val();
});
jQuery(“”.appendTo(“.menu”);
jQuery(“,{”选定“:”选定“,”值“:”文本“:”导航菜单“}).appendTo(“.Menu选择”);
jQuery(“.menu ul li a”)。每个(函数(){
var el=jQuery(this);
jQuery(“,{”value:el.attr(“href”),“text:el.text()}).appendTo(“.menu select”);
});
jQuery(“.menu select”).change(函数(){
window.location=jQuery(this.find)(“选项:选中”).val();
});
我知道它的意思是看起来像这样,但它只是抛出错误
jQuery("<select />").appendTo(".menu");
jQuery("<option />", {"selected": "selected","value" : "","text" : "Navigation Menu"}).appendTo(".menu select");
var showlis = 'ul li a';
jQuery(this + showlis).each(function() {
var el = jQuery(this);
jQuery("<option />", {"value" : el.attr("href"),"text" : el.text()}).appendTo(".menu select");
});
jQuery(".menu select").change(function() {
window.location = jQuery(this).find("option:selected").val();
});
jQuery(“”.appendTo(“.menu”);
jQuery(“,{”选定“:”选定“,”值“:”文本“:”导航菜单“}).appendTo(“.Menu选择”);
var showlis=‘ul li a’;
jQuery(this+showlis).each(function(){
var el=jQuery(this);
jQuery(“,{”value:el.attr(“href”),“text:el.text()}).appendTo(“.menu select”);
});
jQuery(“.menu select”).change(函数(){
window.location=jQuery(this.find)(“选项:选中”).val();
});
克隆移动元素之外的所有jQuery操作函数
这意味着您需要为每个菜单类div创建一个新元素。创建一个元素将把它附加到第一个菜单类div
例:
克隆移动元素之外的所有jQuery操作函数 这意味着您需要为每个菜单类div创建一个新元素。创建一个元素将把它附加到第一个菜单类div 例:
您需要单独引用每个
.menu
项,而不是仅通过类引用它
以下代码的作用是:
对于DOM(第页)中的每个。菜单
并附加到它上面
元素
和
中相应的
$('.menu').each(function() {
var menu = $(this);
var sel = $("<select />").appendTo(menu);
$("<option />", {
"selected": "selected",
"value": "",
"text": "Navigation Menu"
}).appendTo(sel);
menu.find('li').each(function() {
$("<option />", {
"value": $(this).attr("href"),
"text": $(this).text()
}).appendTo(sel);
});
sel.change(function() {
alert($(this).val());
});
});
$('.menu')。每个(函数(){
变量菜单=$(此);
变量sel=$(“”)。附加到(菜单);
$("", {
“已选定”:“已选定”,
“价值”:“,
“文本”:“导航菜单”
}).附录(sel);
menu.find('li')。每个(函数(){
$("", {
“值”:$(this.attr(“href”),
“文本”:$(this).text()
}).附录(sel);
});
选择更改(函数(){
警报($(this.val());
});
});
您需要单独引用每个.menu
项,而不是仅通过类引用它
以下代码的作用是:
对于DOM(第页)中的每个。菜单
并附加到它上面
元素
和
中相应的
$('.menu').each(function() {
var menu = $(this);
var sel = $("<select />").appendTo(menu);
$("<option />", {
"selected": "selected",
"value": "",
"text": "Navigation Menu"
}).appendTo(sel);
menu.find('li').each(function() {
$("<option />", {
"value": $(this).attr("href"),
"text": $(this).text()
}).appendTo(sel);
});
sel.change(function() {
alert($(this).val());
});
});
$('.menu')。每个(函数(){
变量菜单=$(此);
变量sel=$(“”)。附加到(菜单);
$("", {
“已选定”:“已选定”,
“价值”:“,
“文本”:“导航菜单”
}).附录(sel);
menu.find('li')。每个(函数(){
$("", {
“值”:$(this.attr(“href”),
“文本”:$(this).text()
}).附录(sel);
});
选择更改(函数(){
警报($(this.val());
});
});
我注意到以下几点:
标记附加到使用jQuery选择器菜单找到的元素。该选择器将所有元素与菜单
类匹配。它不知道要将它附加到菜单类的哪个元素,所以每次它可能都会将它附加到第一个元素。您需要缩小选择器的范围。最好的方法可能是为每个导航
指定一个id
属性,并将其用作选择器
标记附加到使用jQuery选择器菜单找到的元素。该选择器将所有元素与菜单
类匹配。它不知道要将它附加到菜单类的哪个元素,所以每次它可能都会将它附加到第一个元素。您需要缩小选择器的范围。最好的方法可能是为每个导航
指定一个id
属性,并将其用作选择器
在所有这些行中添加空格并不意味着
这篇
绑定到的上下文中。菜单
这篇文章质量很差,也很混乱。您没有有效的HTML示例。
缺失,您引用的任何地方都没有a
元素