Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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
jQuery移除(选择器)不';好像不行_Jquery - Fatal编程技术网

jQuery移除(选择器)不';好像不行

jQuery移除(选择器)不';好像不行,jquery,Jquery,我创建了一个小JSFIDLE: 要删除的文本 按jQuery对象删除 通过选择器移除 通过选择器移除(类) var$wrapper=$('[data role=“wrapper”]'); $('#remove1')。在('click',函数(){ $wrapper.find('[data role=“待删除”]').remove(); }); //这应该起作用:http://api.jquery.com/remove/ $('#remove2')。在('click',函数(){ $wrapp

我创建了一个小JSFIDLE:


要删除的文本
按jQuery对象删除
通过选择器移除
通过选择器移除(类) var$wrapper=$('[data role=“wrapper”]'); $('#remove1')。在('click',函数(){ $wrapper.find('[data role=“待删除”]').remove(); }); //这应该起作用:http://api.jquery.com/remove/ $('#remove2')。在('click',函数(){ $wrapper.remove(“[data role=“待删除”]”); }); //这应该起作用:http://api.jquery.com/remove/ $('#remove3')。在('click',函数(){ $wrapper.remove(“.待删除”); });
我遇到的问题是.remove(选择器)重载不起作用。我认为这与我的数据角色选择器有关,但remove by class选择器不起作用

我做错什么了吗?或者这是jQuery中的一个bug,或者文档是错误的:

我们还可以包含一个选择器作为可选参数

$wrapper.find('span').remove('data role=“to be remove”]')

$wrapper.find('span').filter('[data role=“to be remove”]')。remove()

$(选择器)。删除(筛选器)
删除
$(选择器)
中所有匹配的
筛选器
元素,请参见此示例


要删除与选择器匹配的子元素,可以使用:

$('[data-role="to-be-removed"]', $wrapper).remove();
remove(selector)
方法用于进一步过滤现有选择。例如

<ul id="test">
    <li>One</li>
    <li class="example">Two</li>
    <li>Three</li>
</ul>

有一个。选择器只支持包装器对象中的元素。 所以,如果您在内部使用div而不是span,并选择所有div作为包装器,那么它将起作用

e、 g


您没有抓住要点,$wrapper需要是特定的,现在您只需选择所有div并对其进行筛选。。。
$('[data-role="to-be-removed"]', $wrapper).remove();
<ul id="test">
    <li>One</li>
    <li class="example">Two</li>
    <li>Three</li>
</ul>
$('#test li').remove('.example');
<div data-role="wrapper">
    <div class="to-be-removed" data-role="to-be-removed">
        text to be removed
    </div>
</div>
<button id="remove1">Remove by jQuery object</button><br>
<button id="remove2">Remove by selector</button><br>
<button id="remove3">Remove by selector(class)</button>
var $wrapper = $('div');

$('#remove1').on('click', function () {
    $wrapper.find('[data-role="to-be-removed"]').remove();
});

// this should work: http://api.jquery.com/remove/
$('#remove2').on('click', function () {
    $wrapper.remove('[data-role="to-be-removed"]');
});

// this should work: http://api.jquery.com/remove/
$('#remove3').on('click', function () {
    $wrapper.remove('.to-be-removed');
});