如何用另一个DOM替换$(this)中的DOM

时间:2013-04-24 12:11:27

标签: jquery jquery-plugins jquery-selectors

我有一个HTML内容,如下所示

<div class="form-field">
     <div style="width: auto; display: inline-block; min-width: 108px;" class="form-field-header">
      <div class="form-field-header-caption">facility</div>
      </div>
      <div style="display: inline-block;" class="form-field-body">
      <input class="form-field-required" readonly="" maxlength="20" value="" type="text" data-binding-view-property="Value" data-binding-model-object="inwork" data-binding-model-property="fac">
       <textboxcontrol class="form-field-required" data-binding-view-property="Value" maxlength="20" data-binding-model-object="inwork" data-binding-model-property="fac"></textboxcontrol>
       </div>
  </div>

对于上面的HTML内容,我正在编写一个jQuery代码来替换将由插件给出的DOM元素。 jQuery脚本如下

$(window).load(function () {
    $(".form-field").find('textboxcontrol').each(function () {
        var options = {
            "attributeName": 'test',
            "defaultValue": "",
            "isViewonly": 0,
            "isReadOnly": 0,
            "filterAttribute": 0
        };
        field = $.fn.textBoxControl(options);
        $(this).replaceWith(field);
    });
});

field变量的数据类似于

<input class="textboxControl" maxLength="2147483647" value="" type="text">

作为DOM(即firebug DOM中的 - field[0].outerHTML

$(this) - 将从HTML内容中选择标记。上面编写的代码正在取代DOM。请帮我解决。

1 个答案:

答案 0 :(得分:1)

推出了使用此解决方案替换该系列的解决方案。$(this).replaceWith(field[0].outerHTML)无论如何谢谢大家。