删除所有选项内的“ - ”

时间:2015-09-14 20:36:43

标签: javascript jquery

我在wordpress中有一个选项列表,但它会在子级别菜单的自动生成a之前生成。现在我想把它们循环出来,但似乎不能让它起作用。

我定位了我的菜单项并尝试循环显示“ - ”以删除它们。

var $menuitem = $(".hasCustomSelect .menu-item");

$menuitem.filter(function(){
    return $.trim($(this).text()) ==  '-'
}).remove();

小编码器

http://codepen.io/denniswegereef/pen/NGGrgR

3 个答案:

答案 0 :(得分:2)

如果我理解正确的话。问题是您尝试匹配错误的短划线-。请改为return $.trim($(this).text()) == '—';

http://codepen.io/anon/pen/vNLZyv

答案 1 :(得分:0)

我可以看到 - vs a - ,尝试从codepen或下面的代码中复制粘贴

我想你也想用

var $menuitem = $(".hasCustomSelect .menu-item");

$menuitem.filter(function(){
   return $.trim($(this).text()).indexOf('—')>-1;//all values containing `—`
}).remove();

或者如果你真的只想删除单个而不是

return $.trim($(this).text())=='—'; //the value that is `—`

更新了代码笔http://codepen.io/anon/pen/wKMeJv

答案 2 :(得分:0)

如果删除分隔符选项,就是你想要的,那么imtheman就有solution for you

如果您想从菜单标题中删除前导破折号(我的第一次猜测是您需要的),那么您可以使用下面的代码段:

var $menuitem = $(".hasCustomSelect .menu-item");
$.each($menuitem, function(key, val){
    $(val).text($(val).text().replace(/—+ /,''));
});