Javascript 查找并用特定文本替换html元素

Javascript 查找并用特定文本替换html元素,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我有如下HTML代码: 我想制作一个Jquery代码,将类添加到带有给定文本的链接中(注意,必须完全是文本)。 例如,如果我调用方法(1,“替换的文本”)则这必须是HTML结果: 替换文本 jQuery为此提供 请在上尝试代码 试试: function someName(niddle, new_text) { $('ul a').each(function(){ if($(this).text() == niddle){

我有如下HTML代码:








我想制作一个Jquery代码,将类添加到带有给定文本的链接中(注意,必须完全是文本)。 例如,如果我调用
方法(1,“替换的文本”)
则这必须是HTML结果:





  • 替换文本



jQuery为此提供

请在上尝试代码

试试:

function someName(niddle, new_text)
{
    $('ul a').each(function(){
        if($(this).text() == niddle){
            $(this).addClass('myclass');
            $(this).after(new_text);
        }
    });
}
可以使用来匹配元素,然后链接到:


jQuery没有为“这个确切的文本”提供选择器,但它很容易编写(laaeftr)。还可以使用更灵活的“匹配”选择器,将文本与正则表达式(不带分隔符)进行匹配:

一旦我们做到了这一点,剩下的就很简单了:

$("li > a:matches(^10$)").addClass("foo")

我无法使用contains jquery选择器执行此操作
:contains
匹配的内容比文本更精确。在这里,对于您来说,…无法使用
$('a:contains(1)')。addClass('myclass')引用:“注意,必须完全是文本”对。我不明白“通知必须完全是文字”。或者我读问题的时候它不在那里?
$("li > a").filter(function() {
    return $(this).text() == "1";
}).addClass("myclass").after("replaced text");
$.extend($.expr[':'], {
    matches: function (el, index, m) {  
        var s = new RegExp(m[3]);
        return s.test($(el).text());
    }  
});
$("li > a:matches(^10$)").addClass("foo")