Jquery 我怎样才能叫“我的朋友”;事件.预防违约“;关于;a「;标记在";中;。ul li“是吗;?

Jquery 我怎样才能叫“我的朋友”;事件.预防违约“;关于;a「;标记在";中;。ul li“是吗;?,jquery,Jquery,在下面的代码块中,我想在.ul li中的a标记上调用event.preventDefault,以便在单击任何列表元素时,a标记不应重定向到其href属性中的页面。我试着做了$this.find(“a”).preventDefault()但这会导致错误。我该怎么做呢 $(document).ready(function () { $(".ul li").on("click", function () { var $this = $(this); $this.

在下面的代码块中,我想在
.ul li
中的
a
标记上调用
event.preventDefault
,以便在单击任何列表元素时,
a
标记不应重定向到其
href
属性中的页面。我试着做了
$this.find(“a”).preventDefault()但这会导致错误。我该怎么做呢

$(document).ready(function () {
    $(".ul li").on("click", function () {
        var $this = $(this);
        $this.find("a").preventDefault();

        // switch all lists off 
        $(".selectedList, .checkedList").removeClass("selectedList, checkedList");
        // switch this list on  
        $this.addClass("selectedList, checkedList");
    });
});
你需要马上打电话来

我认为addClass的用法也是错误的,如果您想添加/删除多个类,那么类名称之间不应该有任何

$(document).ready(function() {
        $(".ul li a").on("click", function(e) {
            var $this = $(this);
            e.preventDefault();

            // switch all lists off 
            $(".selectedList, .checkedList").removeClass("selectedList checkedList");
            // switch this list on  
            $this.addClass("selectedList checkedList");
        });
    });
你需要马上打电话来

我认为addClass的用法也是错误的,如果您想添加/删除多个类,那么类名称之间不应该有任何

$(document).ready(function() {
        $(".ul li a").on("click", function(e) {
            var $this = $(this);
            e.preventDefault();

            // switch all lists off 
            $(".selectedList, .checkedList").removeClass("selectedList checkedList");
            // switch this list on  
            $this.addClass("selectedList checkedList");
        });
    });
您可以在事件对象上使用,而不是在
DOM
元素上使用。您可以通过将事件单击事件添加到事件并调用
preventDefault

$(".ul li a").click(function(event){    
     event.preventDefault();    
});
您可以在事件对象上使用,而不是在
DOM
元素上使用。您可以通过将事件单击事件添加到事件并调用
preventDefault

$(".ul li a").click(function(event){    
     event.preventDefault();    
});

您需要传递事件对象
。preventDefault()
用于事件

$(document).ready(function() {
        $(".ul li").on("click", function(evt) {
            var $this = $(this);
            evt.preventDefault(); // this should be like this. 

            // switch all lists off 
            $(".selectedList, .checkedList").removeClass("selectedList, checkedList");
            // switch this list on  
            $this.addClass("selectedList, checkedList");
        });
    });

您需要传递事件对象
。preventDefault()
用于事件

$(document).ready(function() {
        $(".ul li").on("click", function(evt) {
            var $this = $(this);
            evt.preventDefault(); // this should be like this. 

            // switch all lists off 
            $(".selectedList, .checkedList").removeClass("selectedList, checkedList");
            // switch this list on  
            $this.addClass("selectedList, checkedList");
        });
    });

您应该只为单击事件使用a元素

$(document).ready(function() {
    $(".ul li a").on("click", function( e ) {
        var $this = $(this);
        e.preventDefault();

        // switch all lists off 
        $(".selectedList, .checkedList").removeClass("selectedList, checkedList");
        // switch this list on  
        $this.parent( 'li' ).addClass("selectedList, checkedList");
    });
});

您应该只为单击事件使用a元素

$(document).ready(function() {
    $(".ul li a").on("click", function( e ) {
        var $this = $(this);
        e.preventDefault();

        // switch all lists off 
        $(".selectedList, .checkedList").removeClass("selectedList, checkedList");
        // switch this list on  
        $this.parent( 'li' ).addClass("selectedList, checkedList");
    });
});
最后,如果
a
li
的直接子级,则使用
.parent
,或者使用
.parents('li')
添加到
父级li

最近('li')
可以正常工作

最后,如果
a
li
的直接子级,则使用
.parent
,或者使用
.parents('li')
添加到
父级li

最近('li')
可以正常工作。

函数属于jQuery规范化的
事件
对象,该对象作为第一个参数传递给事件处理程序函数。只需在匿名函数上为参数指定一个名称并使用它:

$(document).ready(function() {
    $(".ul li").on("click", function(event) {
        var $this = $(this);
        event.preventDefault();

        // switch all lists off 
        $(".selectedList, .checkedList").removeClass("selectedList checkedList");
        // switch this list on  
        $this.addClass("selectedList checkedList");
    });
});
由于事件冒泡,在
元素上触发的任何
单击事件也应由此事件处理程序处理。还请注意,当使用
.addClass()
.removeClass()
函数时,类名列表是空格,而不是逗号分隔的-它应该是
“selectedList checkedList”
而不是
“selectedList,checkedList”
,除非您的类是
selectedList,
.preventedDefault()
函数属于jQuery规范化的
事件
对象,该对象作为第一个参数传递给事件处理函数。只需在匿名函数上为参数指定一个名称并使用它:

$(document).ready(function() {
    $(".ul li").on("click", function(event) {
        var $this = $(this);
        event.preventDefault();

        // switch all lists off 
        $(".selectedList, .checkedList").removeClass("selectedList checkedList");
        // switch this list on  
        $this.addClass("selectedList checkedList");
    });
});

由于事件冒泡,在
元素上触发的任何
单击事件也应由此事件处理程序处理。还请注意,当使用
.addClass()
.removeClass()
函数时,类名列表是空格,而不是逗号分隔的-它应该是
“selectedList checkedList”
而不是
“selectedList,checkedList”
,除非您的类是
selectedList,

您的代码中没有定义
e
-需要为匿名函数上的参数指定一个名称。您的代码中没有定义
e
-需要为匿名函数上的参数指定一个名称。如果
不是
  • 元素的直接子元素怎么办?如果它是。。???因为OP使用了
    $this.find(“a”)
    ,这意味着
    a
    li
    的子代。不,这意味着它是后代,这与作为子代不同。如果您有
  • ,那么

    是一个后代-
    .find()
    函数将以任何方式查找
    ,因为它检查所有级别,而不仅仅是一个级别。然而,
    .parent()
    函数只上升了一个级别。+1对于您来说……因此OP可以使用
    父('li')
    它可以包装在
  • 中,然后OP可以使用
    .parent().parent()
    …但我们不知道这就是为什么我只添加了父('li')或者使用
    最近('li')
    现在看起来不错-
    .closest()
    将是我个人获取
  • 元素引用的选择。如果
    不是
  • 元素的直接子元素,该怎么办?如果它是。。???因为OP使用了
    $this.find(“a”)
    ,这意味着
    a
    li
    的子代。不,这意味着它是后代,这与作为子代不同。如果您有
  • ,那么

  • 是一个后代-
    .find()
    函数将以任何方式查找
    ,因为它检查所有级别,而不仅仅是一个级别。然而,
    .parent()
    函数只上升了一个级别。+1对于您来说……因此OP可以使用
    父('li')
    它可以包装在
  • 中,然后OP可以使用
    .parent().parent()
    …但我们不知道这就是为什么我只添加了父('li')或者使用
    最近('li')
    现在看起来不错-
    .closest()
    将是我个人获取
  • 元素引用的选择。为避免出现问题,我建议单击$('.ul li a'),并在函数末尾返回false;。当然,您必须对代码进行一些修改,但不要修改太多。只需使用$(this).parent(),它将获得
  • 元素为避免我建议绑定的问题,请单击$('.ul li a'),然后在函数末尾返回false;。当然,您必须对代码进行一些修改,但不要修改太多。只需使用$(this).parent(),它将获得