Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 试图通过jQuery/replace()删除括号内的锚文本_Javascript_Jquery_Html_Regex_Replace - Fatal编程技术网

Javascript 试图通过jQuery/replace()删除括号内的锚文本

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,""); }); <

我一直在stackoverflow中寻找解决方案,但我似乎不知道我做错了什么。我试图在菜单中的主/父链接中选择“()”括号内的任何内容,并使用
.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 &amp; ATV Rentals (2)" href="#">Gator, UTV &amp; 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 &amp; ATV Rentals (2)" href="#">Gator, UTV &amp; 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类