Javascript 使用jquery隐藏在页面上重复的特定HTML模式

Javascript 使用jquery隐藏在页面上重复的特定HTML模式,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,我的正则表达式和jquery技能让我失望 我需要在页面上显示的位置隐藏以下所有html(以下内容由数据库弹出): 的外部链接: 我非常感谢JSFIDLE(或类似的)使用jquery只隐藏上述所有内容。(注意:第二段中有时会有数据。如果有,则应保持不变) 提前谢谢 作为记录,我自己也尝试过这样做,但是我的jquery技能是垃圾,最好从一张白板开始,因为我希望它只需要几行代码就可以实现。您可以迭代并检查文本是否是:的外部链接,然后隐藏或删除它 $(document).ready(function

我的正则表达式和jquery技能让我失望

我需要在页面上显示的位置隐藏以下所有html(以下内容由数据库弹出):

的外部链接:

我非常感谢JSFIDLE(或类似的)使用jquery只隐藏上述所有内容。(注意:第二段中有时会有数据。如果有,则应保持不变)

提前谢谢


作为记录,我自己也尝试过这样做,但是我的jquery技能是垃圾,最好从一张白板开始,因为我希望它只需要几行代码就可以实现。

您可以迭代并检查文本是否是:的外部链接,然后隐藏或删除它

$(document).ready(function () {
    $("p > strong").each(function () {
        if ($(this).text() == "External Links for:") {
            //$(this).hide();
            $(this).closest('p').remove();
        }
    });
});

注意:将代码包装在

中,例如:

$( function() {
    $( 'p>strong' ).each( function() {
        $( this ).next( 'p' ).remove();
        $( this ).remove();
    });
});

如果希望只返回一行中两个段落的实例,可以创建一个复杂的过滤器,如下所示:

$('p').filter(function(i,el) {
    var test1 = $(el).html() == "<strong>External Links for:</strong>";
    var test2 = $(el).next('p').html() == "";
    return test1 && test2;
}).next().addBack().hide(); // or .remove()
$('p')。过滤器(函数(i,el){
var test1=$(el.html()==“的外部链接:”;
var test2=$(el).next('p').html();
返回test1&&test2;
}).next().addBack().hide();//或删除()

可能想做
p>strong
,以防他们想用嵌套在
p
标记中的文本保留嵌套的
strong
标记。@Satpal我刚刚实现了另一种方法,但现在第一段的内容也被删除了-在我的页面中。谢谢你的帮助。谢谢你,做得很好。谢谢。
$( function() {
    $( 'p>strong' ).each( function() {
        $( this ).next( 'p' ).remove();
        $( this ).remove();
    });
});
$('p').filter(function(i,el) {
    var test1 = $(el).html() == "<strong>External Links for:</strong>";
    var test2 = $(el).next('p').html() == "";
    return test1 && test2;
}).next().addBack().hide(); // or .remove()