如何更改特定元素的href值

13 浏览
0 Comments

如何更改特定元素的href值

这个问题已经在这里有答案了:

如何查找LI是否有子UL

如何使用jQuery更改超链接的href属性

我有一个类似于这个的HTML结构

 

 

 

我想要改变那些包含子UL的LI的HREF。如您所见,上面的LINK1包含其中的UL,但LINK2不包含,因此我编写了以下jQuery代码,但它没有起作用。

$('#DeltaPlaceHolderLeftNavBar div>div>ul>li>a').click(function()
{
   if($(this).closest("li").children("ul").length > 0)
   {
      //the code comes inside this condition but following line doesn't work
      $(this).closest("li").children("ul").attr("href","#");
   }
});

编辑

在代码中添加了“href”标签

编辑

在HTML中犯了一个错误,我现在添加了一个div。

admin 更改状态以发布 2023年5月21日
0
0 Comments

我觉得你只需要改变你的代码

$(this).closest("li").children("ul").attr("href","#");

在你的if条件语句中替换为

$(this).closest("li").children("a").attr("href","#");

现在你的点击事件函数是:

$('#DeltaPlaceHolderLeftNavBar div>div>ul>li>a').click(function(event)
{
    event.preventDefault();
    if($(this).closest("li").children("ul").length > 0)
    {
        //the code comes inside this condition but following line doesn't work
        $(this).closest("li").children("a").attr("href","#");
    }  
});  

在这里,我已经将event添加为函数参数并添加了event.preventDefault()来防止默认的链接点击事件重定向到链接地址。

0