Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 获取每个<;李>;有孩子<;部门>;并更改<;李>';s<;a>;属性_Jquery_Html_Mobile_Menu_Disable Link - Fatal编程技术网

Jquery 获取每个<;李>;有孩子<;部门>;并更改<;李>';s<;a>;属性

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() <

我正在禁用菜单中的链接,并将它们转换为手风琴式按钮。 有些链接没有子链接(如果你愿意的话,可以下拉),我希望这些链接可以作为链接保留下来

我想用一个子Div将每个LI作为目标,并更改该LI的a=href值 我已经这样做了,但是我特别不想更改任何Li的a=href值,如果它首先没有子Div

这是我的密码:

$(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')。查看文档。这太完美了!非常感谢。