Javascript jQuery向服务器上生成的链接添加属性

Javascript jQuery向服务器上生成的链接添加属性,javascript,jquery,html,Javascript,Jquery,Html,我有一个导航开关与下拉菜单,但家长必须是可点击的 这对桌面用户来说一点问题都没有,但它也必须具有响应能力。 这就带来了移动设备没有悬停的问题。我有一些Javascript来处理这个问题。我必须向具有子链接的链接添加一个属性aria haspopup=true 问题是,链接由dnn加载,我无法更改该模块上的任何内容。因此,我必须在之后添加它 我试过这个,但似乎不起作用: $("#menu ul:has('li')").each(function () { $("#menu-item menu-

我有一个导航开关与下拉菜单,但家长必须是可点击的

这对桌面用户来说一点问题都没有,但它也必须具有响应能力。 这就带来了移动设备没有悬停的问题。我有一些Javascript来处理这个问题。我必须向具有子链接的链接添加一个属性
aria haspopup=true

问题是,链接由dnn加载,我无法更改该模块上的任何内容。因此,我必须在之后添加它

我试过这个,但似乎不起作用:

$("#menu ul:has('li')").each(function () {
  $("#menu-item menu-item-type-custom menu-item-object-custom menu-item-250 li:has('a')").each(function () {
    $(this).attr("aria-haspopup", "true");
  }
});
解决了它

$(document).ready(function($){
$("ul.submenu").each(function(index){

     $(this).parent("li").children(":first").attr('aria-haspopup', 'true');    
    }) 
});

添加该属性的代码应该可以正常工作。更可能的问题是,您在初始化需要该属性的库之后添加该属性。您需要确保需要
aria
属性的代码在您将其添加到DOM后运行。还要注意的是,您不需要这里的任何
each()
调用。只要
$(“#菜单项菜单项类型自定义菜单项对象自定义菜单项-250 li:has('a')”)。attr('aria-haspoop','true')
将在所有选定元素上添加该属性。@Rory McCrossan我确保它在后面运行。它不会将属性添加到任何已生成的链接中。控制台中是否有任何错误?我可以看到您在上面的代码中缺少了一个
,但我认为这只是在转换问题时犯的一个错误,控制台中没有错误和警告。