jQuery 的问题

发布于 2024-09-29 06:15:13 字数 897 浏览 2 评论 0原文

if ( !this.labelContainer.append(label).length )
 this.settings.errorPlacement
  ? this.settings.errorPlacement(label, $(element) )
  : label.insertAfter(element);

(此代码来自验证插件,它对每个输入重复)

label

element

这个效果很好,它直接在 element 之后添加 label

看起来像这样:

<dd>
    <div>
        <input />
        <label>text</label>
    </div>
</dd>

如何将 label 放置在

element 的父级)之后,而不是在 之后>element?

脚本的完整代码:

http://www.jsfiddle .net/YSSCE/1/(搜索label.insertAfter(element)

if ( !this.labelContainer.append(label).length )
 this.settings.errorPlacement
  ? this.settings.errorPlacement(label, $(element) )
  : label.insertAfter(element);

(this code is from validate plugin, it repeats for each input)

label is <label>text</label>

element is <input />

This works good, it adds label directly after the element.

Looks like this:

<dd>
    <div>
        <input />
        <label>text</label>
    </div>
</dd>

How to place label after the <div> (element's parent), not after the element?

Full code of the script:

http://www.jsfiddle.net/YSSCE/1/ (search for label.insertAfter(element))

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

£烟消云散 2024-10-06 06:15:13

使用 insertAfterjsFiddle 示例。

$("<label />").text("Label").insertAfter(
    $("input").parent()
);

更新您的代码 (v2)

this.settings.errorPlacement
      /* not sure what this method do, maybe you need to add .parent() as well*/
    ? this.settings.errorPlacement(label, $(element) )
    : label.insertAfter($(element).parent()); /* insert after the parent */

Use insertAfter. Example on jsFiddle.

$("<label />").text("Label").insertAfter(
    $("input").parent()
);

Updating your code (v2):

this.settings.errorPlacement
      /* not sure what this method do, maybe you need to add .parent() as well*/
    ? this.settings.errorPlacement(label, $(element) )
    : label.insertAfter($(element).parent()); /* insert after the parent */
踏雪无痕 2024-10-06 06:15:13

element.parent 获取元素的父级。

label.insertAfter(element.parent);

或者可能

label.insertAfter($(element).parent);

element.parent gets the parent to the element.

label.insertAfter(element.parent);

or possibly

label.insertAfter($(element).parent);
最终幸福 2024-10-06 06:15:13

将 label.insertAfter(element) 更改为 label.insertAfter(element.parent())

但如果您的 HTML 标记发生更改,这可能会导致问题。

Change label.insertAfter(element) to label.insertAfter(element.parent())

But this could cause problems if your HTML markup changes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文