0

我问这个问题只是为了更好地理解 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

我只明确测试了上面的例子,但我认为这些规则同样适用于:

  • 之前()和插入之前()
  • prepend() 和 prependTo()
  • 附加()和附加到()
  • 之后()和插入之后()

我在这里看到的一般规则是什么?每次遇到这样的情况,我宁愿不要猜测和检查。

4

1 回答 1

0

我正在寻找这些方法接受哪些参数的通用规则

咳咳……摘自 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

于 2013-11-04T08:37:56.803 回答