javascript - 使用 jquery 获取动态生成的标签的 Id 的问题

标签 javascript jquery xml ajax

我有以下功能来显示动态附加项目的标签的单击事件的 id。但是当执行该功能时,我的警报不显示 id,它弹出说 undefined。请任何人告诉在哪里正是我错了。

这是我的功能

function getmenu()
     {
         $.ajax({
             type: "POST",
             url: "JsonWebService.asmx/GetMenus",
             data: "{}",
             contentType: "application/json; charset=utf-8",
             dataType: "xml",

             success:

                 function (results) {

                     $(results).find("Menu").each(function () {
                         var Text = $(this).find("Text").text();
                         var MenuId = $(this).find("MenuId").text();

                         var dmenu = $("#Menudiv");
                         dmenu.append("<td id='" + MenuId + "'><ul>" + Text + "</ul></td>");



                     });


                     $("#Menudiv").children('td').click(function () {

                         alert($(this).children('td').attr('MenuId'));

                     });


                 }
         });

    }

这将是我在 ajax 调用时生成的示例 xml 代码。

<ArrayOfMenu><Menu><MenuId>1</MenuId><Text>Books</Text></Menu><Menu><MenuId>2</MenuId><Text>Cd</Text></Menu><Menu><MenuId>3</MenuId><Text>Calendar</Text></Menu></ArrayOfMenu>

最佳答案

改变这一行:

alert($(this).children('td').attr('MenuId'));

为此:

alert($(this).attr('id'));

这显示了 td 的 ID。如果您打算检查 td 中的 ul -- 并注意 ul 中没有 li 元素 -- 您可以像上面那样使用“children”,但您需要更正您的 HTML (

    < li>...) 并相应地更改子选择器...或使用 find()...取决于您实际尝试做的事情。

关于javascript - 使用 jquery 获取动态生成的标签的 Id 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6314795/

相关文章:

javascript - 将鼠标悬停在一个 div 上时更改其他 div 的类

javascript - 当传递一组轨迹时,Plot.ly 不呈现

javascript - Jquery AJAX CALL 与 Controller 方法的参数不起作用

Javascript/CSS 不适用于 IE 10 但适用于 IE 8

javascript - 创建插件返回这个问题

jquery - Bootstrap css 与 gmap 冲突

javascript - 清除以前的 css 设置

xml - 重置单个元素的默认 XML 命名空间

xml - 关于 XPath

objective-c - Cocoa - 改变 XML 节点的值