Jquery 获取每个<;李>;有孩子<;部门>;并更改<;李>';s<;a>;属性
我正在禁用菜单中的链接,并将它们转换为手风琴式按钮。 有些链接没有子链接(如果你愿意的话,可以下拉),我希望这些链接可以作为链接保留下来 我想用一个子Div将每个LI作为目标,并更改该LI的a=href值 我已经这样做了,但是我特别不想更改任何Li的a=href值,如果它首先没有子Div 这是我的密码:Jquery 获取每个<;李>;有孩子<;部门>;并更改<;李>';s<;a>;属性,jquery,html,mobile,menu,disable-link,Jquery,Html,Mobile,Menu,Disable Link,我正在禁用菜单中的链接,并将它们转换为手风琴式按钮。 有些链接没有子链接(如果你愿意的话,可以下拉),我希望这些链接可以作为链接保留下来 我想用一个子Div将每个LI作为目标,并更改该LI的a=href值 我已经这样做了,但是我特别不想更改任何Li的a=href值,如果它首先没有子Div 这是我的密码: $(window).on("resize", function() { $(function() { if ($(window).width() <
$(window).on("resize", function() {
$(function() {
if ($(window).width() <= 900 & $( 'div.menu-main-menu-container > ul.main-menu > li.menu-item > a' ).attr( 'href' ) != "#") {
$( 'div.menu-main-menu-container > ul.main-menu > li.menu-item > a' ).each(function() {
var old = $(this).attr( 'href' );
$(this).attr( 'data-href', old);
$(this).attr( 'href', '#');
});
} if ($(window).width() > 900 & $( 'div.menu-main-menu-container > ul.main-menu > li.menu-item > a' ).attr( 'href' ) == "#") {
$( 'div.menu-main-menu-container > ul.main-menu > li.menu-item > a' ).each(function() {
var old = $(this).attr( 'data-href' );
$(this).attr( 'href', old);
});
}
});
}).resize();
$(窗口).on(“调整大小”,函数(){
$(函数(){
if($(window).width()900&$('div.menu-main-menu-container>ul.main-menu>li.menu-item>a').attr('href')==“#”){
$('div.menu-main-menu-container>ul.main-menu>li.menu-item>a')。每个(函数(){
var old=$(this.attr('data href');
$(this.attr('href',old);
});
}
});
}).resize();
您可以执行以下操作:
if ($('li').children().length > 0)
{
//do something
}
或者:
if ($('li').children().length == 0)
{
//do something else
}
另外,您似乎没有在li中循环(否则我会建议使用$(this))。选择这些元素肯定有更好的方法。选择器有很长的字符串(即“div.menu-main-menu-container>ul.main-menu>li.menu-item>a”),您可以将其简化为一个简单的唯一类或id。您可以使用jQuery
has
方法仅选择带有子div的li,例如:
$('div.menu-main-menu-container > ul.main-menu > li.menu-item').has('div').children('a').....
$('li > div:first').each(function(){
$(this).parent('li')
......
});
您可以这样选择
li
第一个元素是div
:
$('div.menu-main-menu-container > ul.main-menu > li.menu-item').has('div').children('a').....
$('li > div:first').each(function(){
$(this).parent('li')
......
});
希望这能帮助你:)Hrmmm。。我应该更清楚一点,李家已经有孩子了,所以可以把长度改为2或>1?但是我仍然被卡住了-我如何只选择带有child div的Li并编辑那些Li?在“//do something”中选择什么/如何选择哦,没错!我道歉。将.children()更改为.children('div')。查看文档。这太完美了!非常感谢。