Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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 如何获取";的属性值;id";单击锚定标记时,是否按类名从锚定标记中删除? $(“#jqxTree ReportGroups ul”).append( ”;_Javascript_Jquery - Fatal编程技术网

Javascript 如何获取";的属性值;id";单击锚定标记时,是否按类名从锚定标记中删除? $(“#jqxTree ReportGroups ul”).append( ”;

Javascript 如何获取";的属性值;id";单击锚定标记时,是否按类名从锚定标记中删除? $(“#jqxTree ReportGroups ul”).append( ”;,javascript,jquery,Javascript,Jquery,单击时如何按类名“reportData”获取“id”的属性值 编辑: 单击不起作用。。如果我使用Live,则会调用该函数。。。如何在live函数中获取reportData的Id查看以下代码: $("#jqxTree-ReportGroups ul").append("<li id=" + [data[i].Id] + " item-checked='true' item-expanded='true' class='treeLi'> <a class='report-tre

单击时如何按类名“reportData”获取“id”的属性值

编辑:
单击不起作用。。如果我使用Live,则会调用该函数。。。如何在live函数中获取reportData的Id查看以下代码:

 $("#jqxTree-ReportGroups ul").append("<li id=" + [data[i].Id] + " item-checked='true' item-expanded='true' class='treeLi'> 
<a class='report-tree-expand'  href=''>+</a> 
<a class='reportData' id='12345' href=''>" + [data[i].Name] + "</a></li>");
done use live已被弃用(在需要jquery 1.7及以上版本时) 但下面是使用live()的代码

jsfiddle证明了它的有效性

你可以做

$('.reportData').live('click' , function(){
   var idProp= $(this).prop('id'); // or attr() 
    var idAttr = $(this).attr('id');
    console.log('using prop = ' + idProp + ' , using attr  = ' + idAttr);
    console.log();
   return false; // to prevent the default action of the link also prevents bubbling 
});
使用事件委派,因为它看起来像是您动态添加的。请尝试以下操作:

$(document).on("click", ".reportDatan", function() {
    var id = this.id;
});
如果您使用的是jquery 1.9

$('.reportDatan').click(function(){
$(this).attr('id');    
});

jQuery中HTML字符串的连接是错误的,请看一下这段具有live函数的代码,或者如果您希望这段代码可读,也可以使用JavaScript模板引擎

HTML:


  • 首先
jQuery:

<div id="jqxTree-ReportGroups">
    <ul>
        <li>First</li>
    </ul>
</div>
$(文档).ready(函数(){
var yourLiID=100;
var aValue=‘报告数据’;
var yourLi=“
  • ”; var yourAnchor=“”; var secondAnchor=“”; var yourLiClose='
  • '; $(“#jqxTree ReportGroups ul”).append(yourLi+yourlanchor+secondAnchor+yourLiClose); $('.reportData').live(“单击”,函数(){ var yourAnchorID=$(this.attr('id'); 警报('yourAnchorID:'+yourAnchorID); 返回false; }); });

    如@vinod所说,请参考此演示链接,它取决于jquery版本和浏览器。。。在资源管理器中,只有道具工作(据我记忆所及)。。我会更新答案的。对不起。。prop不依赖于jquery版本
    添加的版本:1.6
    ,因此它是旧方法。。只取决于浏览器,因为我记得过去的经验。所以对于id,总是使用prop(),但在我的情况下它不起作用。甚至不调用$('.reportData')。单击时单击(函数())。您能建议我如何使用live()获取此功能吗?这意味着您在内容出现在页面上之前使用了click函数。。在使用click方法之前,您必须附加字符串…这是一个非常清晰的解释…尝试了一下。不工作。。可以实现相同的功能。但是可以获取Id。当单击它时,它会转到此行“$('.reportData')。单击(function()”,但在进入此函数之前,我在使用的js文件中得到DomeException..它是jquery-1.6.2.min.js检查我的代码,它有live函数,编辑JSFIDLE或共享您的代码
    $('.reportDatan').click(function(){
    $(this).prop('id');    
    });
    
    <div id="jqxTree-ReportGroups">
        <ul>
            <li>First</li>
        </ul>
    </div>
    
    $(document).ready(function () {
       var yourLiID = 100;
       var aValue = 'Report Data';
       var yourLi = "<li id='" + yourLiID + "' item-checked='true' item-expanded='true' class='treeLi'>";
       var yourAnchor = "<a class='report-tree-expand'  href=''>Your Text</a> ";
       var secondAnchor = "<a class='reportData' id='12345' href=''>" + aValue + "</a>";
       var yourLiClose = '</li>';
       $("#jqxTree-ReportGroups ul").append(yourLi + yourAnchor + secondAnchor + yourLiClose);
    
        $('.reportData').live("click", function(){
          var yourAnchorID = $(this).attr('id');
            alert('yourAnchorID: ' + yourAnchorID);
          return false;
        });
    
    });