我一直在搜索stackoverflow来找到解决方案,但我似乎无法弄清楚我做错了什么。我正在尝试在菜单中的主/父链接中选择“()”括号内的任何内容,并使用.replace()
删除它们,但似乎没有发生任何事情。
JSFiddle: http://jsfiddle.net/1rndwz3u/1/
JS:
jQuery(document).ready(function () {
jQuery(".menu-name-menu-category-menu ul.nav li > a").html().replace(/\(.*?\)/g,"");
});
HTML:
<div class="menu-name-menu-category-menu">
<ul class="menu nav">
<li class="first expanded dropdown active-trail">
<a title="Heavy Equipment Rentals (0)" href="#">Heavy Equipment Rentals (0)<span class="caret"></span></a>
<ul class="accordion-body">
<li><a title="Excavator Rentals (2)" href="#">Excavator Rentals (2)</a></li>
<li><a title="Mini Excavator Rentals (6)" href="#">Mini Excavator Rentals (6)</a></li>
<li><a title="Skid Steer Rentals (9)" href="#">Skid Steer Rentals (9)</a></li>
</ul>
</li>
<li class="active-trail"><a title="Tool Rentals (1)" href="#">Tool Rentals (1)</a></li>
<li class="last expanded dropdown active-trail">
<a title="Construction Rentals (0)" href="#">Construction Rentals (0) <span class="caret"></span></a>
<ul class="accordion-body">
<li><a title="Gator, UTV & ATV Rentals (2)" href="#">Gator, UTV & ATV Rentals (2)</a></li>
</ul>
</li>
</ul>
</div>
我尝试过使用.html()
和.text()
,但都没有做过任何事情,也尝试抓住“租借”代替括号的正则表达式,但也没有用。非常感谢帮助。感谢。
答案 0 :(得分:2)
我还没看好小提琴但是
jQuery(".menu-name-menu-category-menu ul.nav li > a").html().replace(/\(.*?\)/g,"");
返回一个字符串,必须重新设置为HTML。
var HTML = jQuery(".menu-name-menu-category-menu ul.nav li > a").html().replace(/\(.*?\)/g,"");
jQuery(".menu-name-menu-category-menu ul.nav li > a").html( HTML );
答案 1 :(得分:2)
您正在编辑值但没有对其执行任何操作。尝试用另外一个html()
调用来包装它:
jQuery(document).ready(function () {
var target = jQuery(".menu-name-menu-category-menu ul.nav li > a");
target.html(target.html().replace(/\(.*?\)/g,""));
});
答案 2 :(得分:1)
工作小提琴here
jQuery(document).ready(function () {
$( ".menu-name-menu-category-menu ul.nav li.expanded > a" ).each(function( index,elem ) {
$(elem).html($(elem).html().replace(/ *\([^)]*\) */g, ""));
});
});