Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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
Javascript $(this.attr(';href';)返回未定义的_Javascript_Jquery - Fatal编程技术网

Javascript $(this.attr(';href';)返回未定义的

Javascript $(this.attr(';href';)返回未定义的,javascript,jquery,Javascript,Jquery,好的,我知道有很多关于JQuery.attr未定义的帖子,但是我还没有找到一个可以解决这个问题的帖子,甚至没有给我一个提示 首先,我有一个Ajax请求,它填充了一个ul,如下所示 $.each(msg,function(key, value){ ul.append('<li class="fa fa-angle-right cnt-link"><a href="'+key+'">'+value+'</a></li>');

好的,我知道有很多关于JQuery.attr未定义的帖子,但是我还没有找到一个可以解决这个问题的帖子,甚至没有给我一个提示

首先,我有一个Ajax请求,它填充了一个ul,如下所示

$.each(msg,function(key, value){
            ul.append('<li class="fa fa-angle-right cnt-link"><a href="'+key+'">'+value+'</a></li>');
        })
cnt变量设置得很好,所以我看不出$(这)没有引用正确的对象,但试图获取href返回未定义的值会有什么问题

我还尝试使用

ul.append('<li class="fa fa-angle-right cnt-link"><a href="#">'+value+'</a></li>').data("cntId", key);
但这也返回未定义,所以我开始思考可能是$(这)没有选择正确的对象


我对此束手无策,如果有人能看到我犯了什么愚蠢的错误,我将不胜感激:)

cnt-link
是一个
  • ,因此它没有
    href
    属性。如果要在使用代码创建的
    li
    中获取
    href

    ul.append('<li class="fa fa-angle-right cnt-link"><a href="'+key+'">'+value+'</a></li>');
    
    或者,使用
    .cnt链接
    上的处理程序,首先选择
    .cnt链接
    .children
    以访问

  • @当然性能非常感谢您。我知道这将是一件非常愚蠢的事情,我忽略了,而你是正确的。我甚至没有想到,
  • 和都有相同的文本:)
    var cntId = $(this).data('cntId');
    
    ul.append('<li class="fa fa-angle-right cnt-link"><a href="'+key+'">'+value+'</a></li>');
    
    $('.cnt-link > a').click(function(event){
    
    $('.cnt-link').click(function(event){
      event.preventDefault();
      var cntId = $(this).children().attr('href');               
      console.log(cntId);
    })