jQuery的问题
(此代码来自validate插件,它对每个输入重复)jQuery的问题,jquery,input,append,prepend,insertafter,Jquery,Input,Append,Prepend,Insertafter,(此代码来自validate插件,它对每个输入重复) 标签是文本 元素是 这很好,它直接在元素之后添加标签 看起来像这样: if ( !this.labelContainer.append(label).length ) this.settings.errorPlacement ? this.settings.errorPlacement(label, $(element) ) : label.insertAfter(element); 文本 如何将标签放在(元素的父元素)之后,
标签
是文本
元素
是
这很好,它直接在元素
之后添加标签
看起来像这样:
if ( !this.labelContainer.append(label).length )
this.settings.errorPlacement
? this.settings.errorPlacement(label, $(element) )
: label.insertAfter(element);
文本
如何将标签
放在
(元素
的父元素)之后,而不是元素
之后?
脚本的完整代码:
(搜索
label.insertAfter(元素)
)element.parent获取元素的父元素
<dd>
<div>
<input />
<label>text</label>
</div>
</dd>
或者可能
label.insertAfter(element.parent);
将label.insertAfter(element)更改为label.insertAfter(element.parent())
但是,如果HTML标记发生更改,这可能会导致问题。请使用
label.insertAfter($(element).parent);
label.insertAfter(元素)代码>插入标签。插入后(div)
其中div
是要在后面插入的div
的标识符。woo。。。我只是喜欢“不管用”这个表达!这让事情进展得更快更清晰!您能将您的解决方案更新到我的代码吗?这是一个完整的文件,它假设元素是jQuery对象。这应该被假定为parent()函数是jQuery函数。
$("<label />").text("Label").insertAfter(
$("input").parent()
);
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 */