如果锚点使用Javascript:void(0),则删除元素 if($('.slicknav_item').attr('href').indexOf('javascript:void(0)'))>0){ $('.slicknav_项目span')。删除(); }

如果锚点使用Javascript:void(0),则删除元素 if($('.slicknav_item').attr('href').indexOf('javascript:void(0)'))>0){ $('.slicknav_项目span')。删除(); },javascript,jquery,indexof,Javascript,Jquery,Indexof,使用上述代码,我试图在任何时候找到“.slicknav_项”包含“javascript:void(0)”作为href,并删除元素“.slicknav_项span”,但仅从特定的“slicknav_项”元素中删除 它似乎没有给我任何结果。我担心的问题是“javascript:void(0)” 对我来说,问题是“javascript:void(0)”是唯一将它与其他链接分开的东西。有什么建议吗?您可以使用属性选择器 <a class="slicknav_item" href="home">

使用上述代码,我试图在任何时候找到“.slicknav_项”包含“javascript:void(0)”作为href,并删除元素“.slicknav_项span”,但仅从特定的“slicknav_项”元素中删除

它似乎没有给我任何结果。我担心的问题是“javascript:void(0)”


对我来说,问题是“javascript:void(0)”是唯一将它与其他链接分开的东西。有什么建议吗?

您可以使用属性选择器

<a class="slicknav_item" href="home">Home<span></span></a>
<a class="slicknav_item" href="about">About<span></span></a>
<a class="slicknav_item" href="javascript: void(0)">Services<span></span></a>

if ($('.slicknav_item').attr('href').indexOf('javascript: void(0)') > 0) {

$('.slicknav_item span').remove();

}
演示:


您的代码
$('.slicknav_item').attr('href')
返回类
slicknav_item
的第一个元素的
href
,因此在您的示例中,
if
条件不会执行。再次使用语句
$('.slicknav_item span').remove()
将选择所有
span
元素,这些元素是
的后代。slicknav_item

如果
javascript:
void
之间的空格不同,在某些情况下可以使用一个不太特定的属性选择器,如
[href*=“javascript”]
[href*=“void”]
@charlietfl yes。。。或者以选择器
$('.slicknav_item[href^=“javascript:]span')
开始,有一个替代方案肯定很好,间距不一致的概率很高<代码>以开头看起来更好
$('.slicknav_item[href="javascript: void(0)"] span').remove();