Javascript 试图通过jQuery/replace()删除括号内的锚文本
我一直在stackoverflow中寻找解决方案,但我似乎不知道我做错了什么。我试图在菜单中的主/父链接中选择“()”括号内的任何内容,并使用Javascript 试图通过jQuery/replace()删除括号内的锚文本,javascript,jquery,html,regex,replace,Javascript,Jquery,Html,Regex,Replace,我一直在stackoverflow中寻找解决方案,但我似乎不知道我做错了什么。我试图在菜单中的主/父链接中选择“()”括号内的任何内容,并使用.replace()将其删除,但似乎什么都没有发生 JSFiddle: JS: jQuery(document).ready(function () { jQuery(".menu-name-menu-category-menu ul.nav li > a").html().replace(/\(.*?\)/g,""); }); <
.replace()
将其删除,但似乎什么都没有发生
JSFiddle:
JS:
jQuery(document).ready(function () {
jQuery(".menu-name-menu-category-menu ul.nav li > a").html().replace(/\(.*?\)/g,"");
});
<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:
jQuery(document).ready(function () {
jQuery(".menu-name-menu-category-menu ul.nav li > a").html().replace(/\(.*?\)/g,"");
});
<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()
但都没有做任何事情,也尝试过只获取“Rentals”而不是括号中的正则表达式,这也不起作用。非常感谢您的帮助。谢谢。我还没看小提琴,但是
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 );
我还没看过小提琴,但是
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 );
您正在编辑该值,但未对其执行任何操作。尝试用另一个
html()
调用将其包装:
jQuery(document).ready(function () {
var target = jQuery(".menu-name-menu-category-menu ul.nav li > a");
target.html(target.html().replace(/\(.*?\)/g,""));
});
您正在编辑该值,但未对其执行任何操作。尝试用另一个
html()
调用将其包装:
jQuery(document).ready(function () {
var target = jQuery(".menu-name-menu-category-menu ul.nav li > a");
target.html(target.html().replace(/\(.*?\)/g,""));
});
工作小提琴
工作小提琴
我把它贴在小提琴上测试,但不幸的是它也不起作用。为了澄清您所说的内容,.replace()正在创建一个字符串,然后您将其添加回HTML?是的,这是正确的。我还没有测试你需要的正则表达式,所以这可能不是一个完整的答案。但是我知道
.replace()
会从.html()
字符串创建一个新字符串。它必须保存到一个变量中,然后设置回元素.html(html)
。我将它粘贴到小提琴中进行测试,但不幸的是,它也不起作用。为了澄清您所说的内容,.replace()正在创建一个字符串,然后您将其添加回HTML?是的,这是正确的。我还没有测试你需要的正则表达式,所以这可能不是一个完整的答案。但是我知道.replace()
会从.html()
字符串创建一个新字符串。必须将其保存到变量中,然后将其设置回元素.html(html)
。在JSFIDLE中尝试了此操作,但似乎不起作用。在FIDLE中,未定义jQuery(检查开发人员控制台)。也许可以改为使用$吗?这里有一个使用$的分支,还删除了regex并替换为“Rentals”,以确保它不是regex:在JSFIDLE中尝试了这个,但似乎不起作用。在FIDLE中,没有定义jQuery(检查开发人员控制台)。也许试试$吧?这里有一个用$做的叉子,也删除了正则表达式并替换为“Rentals”,以确保它不是正则表达式:我只是试图从顶级菜单项中删除/替换它,我该如何修改此代码来实现这一点?谢谢看起来很棒!不幸的是,“工具租赁”也是一个顶级菜单项,但(1)显示在那里?给li。扩展classI试图仅从顶级菜单项中删除/替换它,我将如何更改此代码以实现这一点?谢谢看起来很棒!不幸的是,“工具租赁”也是一个顶级菜单项,但是(1)显示在那里?给li.expanded类