我问这个问题只是为了更好地理解jQuery。我注意到一些jQuery方法仅在目标和选择器的顺序上有所不同。例如:
$('img').replaceWith('<p>Hello</p>'); // target --> selector (or content)
$('<p>Hello</p>').replaceAll('img'); // selector --> target
但这似乎是他们完全可逆的唯一方式。例如:
$('img').replaceWith(Hello); // works
$(Hello).replaceAll('img'); // breaks
$('img').replaceWith('.foo'); // breaks
$('.foo').replaceAll('img'); // works
$('img').replaceWith($('.foo')); // works
$($('.foo')).replaceAll('img'); // works but is unnecessary
我只是明确测试了上面的例子,但我认为这些规则同样适用于:
我在这里看到的一般规则是什么?每当我遇到这种情况时,我宁愿不猜测和检查。
答案 0 :(得分:0)
我正在寻找这些方法接受的参数的一般规则
Ahem ...从jQuery文档中提取:
<强> .replaceWith(newContent)
强>
newContent
:htmlString或Element或Array或jQuery
<强> .replaceWith(function)
强>
function
:功能
<强> .replaceAll(target)
强>
target
:选择器或jQuery或数组或元素
<强> .before(content\[, content\])
强>
的 .after(content\[, content\])
强>
的 .prepend(content\[, content\])
强>
的 .append(content\[, content\])
强>
content
:htmlString或Element或Array或jQuery
<强> .insertBefore(target)
强>
的 .insertAfter(target)
强>
的 .prependTo(target)
强>
的 .appendTo(target)
强>
target
:Selector或htmlString或Element或Array或jQuery