事件上的jquery删除除span之外的所有标记

时间:2015-02-16 14:49:41

标签: javascript jquery

我正在寻找一个与

完全相同的功能
$str = striptags($str, 'span');
PHP中的

。我在jquery中需要相同类型的函数:

$("#str").on('click keydown keyup change keypress', function(e) {

e.preventDefault();

???

)};

像PHP一样简单吗?或者它更复杂?

1 个答案:

答案 0 :(得分:1)

试试这个jQuery:

$('#str').on('click', function(e) {
    $('body').find('*').not('span').each(function() {
        $(this).remove();
    });
});

您必须将其目标调整为您要清除内容的任何父级,但这应该有效。

修改

我已经更新了它,以说明元素是否包含在某个范围内,在某些时候:

$('#str').on('click', function(e) {
    $('body').find('*').not('span').each(function() {
        if(!$(this).parents().is('span')) {
            $(this).remove();
        }
    });
});

如果您只想提升单一级别,请在parents()声明中将parent()替换为if

这是一个JSFiddle:http://jsfiddle.net/y1r0wg2r/