【问题标题】:target --> selector VS selector --> target [duplicate]目标->选择器VS选择器->目标[重复]
【发布时间】:2013-11-04 16:37:56
【问题描述】:

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

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

  • before() & insertBefore()
  • prepend() & prependTo()
  • append() & appendTo()
  • after() & insertAfter()

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

【问题讨论】:

  • 我不确定你在这里不明白什么。方法名称是不言自明的。
  • @undefined 例如,我可以概括 jQuery 方法的规则: $() 接受 1. 包含现有元素、类或 id 的字符串 2. 包含在飞。那么您能否给我一套适用于我在原始问题中列出的所有方法的通用规则,或者它们是否都有针对它们接受的参数的独特规则,我只需要记住它们。
  • 嗨@Barmar,你以前帮助过我:) 我正在寻找一套通用规则来说明这些方法接受哪些参数,而不是在给定情况下应该使用哪种方法。

标签: jquery


【解决方案1】:

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

咳咳……摘自 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\]) strong>
content : htmlString 或 Element 或 Array 或 jQuery

.insertBefore(target)
.insertAfter(target)
.prependTo(target)
.appendTo(target) strong>
target : Selector or htmlString or Element or Array or jQuery

【讨论】:

    猜你喜欢
    • 2019-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多