使用没有属性的jQuery来定位文本

时间:2013-10-30 16:09:37

标签: jquery forms text label

我需要通过jQuery在表单中定位纯文本,以便我可以在其周围包装标签。表单本身是由我无法编辑的外部插件创建的。由于id,输入的值和名称可能会被插件更改,我不能将它们作为选择器。这对我来说很难。

以下是一个示例代码:

<form method="post" action="#" name="process213">
    <input id="page_action327" type="hidden" value="confirmation" name="page_action">
    <input id="special108" type="hidden" value="coupon" name="special">
    Text
    <input id="coupon_code" type="text" maxlength="20" name="coupon_code">
    <input type="submit" value="Einlösen" title="Einlösen">
</form>

我需要定位&#34; Text&#34;。有没有人知道如何在不使用上述属性的情况下实现这一目标?谢谢!

1 个答案:

答案 0 :(得分:2)

你需要这样的东西:

$('form[name=process213]').contents().filter(function(){
    return this.nodeType === 3 // Node.TEXT_NODE
}).wrap('<label />');

<强>更新

然后删除你可以做的空标签:

$( 'form[name=process213] label:empty' ).remove();