$(’#foo’)。remove(’a’)和$(’#foo’)。find(’a’)。remove()之间的区别
我正在尝试使用jQuery编辑HTML(来自textarea)的字符串。 当我使用此代码时,将从结果字符串中删除链接,如预期的那样:
$('#foo').find('a').remove(); $('#foo').html(); // links are removed, as expected
但是,当我使用下面的代码时,链接不会被删除。
$('#foo').remove('a'); $('#foo').html(); // links are still there
为什么这不起作用? 我已经阅读了.remove()的jQuery API 文档 ,我仍然不明白。
'a'
选择器是顶级filter。 它接受当前设置,查找与选择器匹配的元素,并将其删除。
$('#foo').remove('a');
filter不搜索嵌套元素。
所以,如果你这样做……
$('.myClass').remove('a');
…和.myClass
选择器匹配以下元素……
a paragraph
an anchor an anchor an anchor a paragraph