【问题标题】:Edit DOM element in var before append it在追加之前编辑 var 中的 DOM 元素
【发布时间】:2013-03-18 17:29:29
【问题描述】:

我有一个函数可以将元素附加到使用模板调用它的页面上,如下所示:

 var plantillaTemplate = '<div class="contenedor-oferta"><a class="link" href="${enlace}" target="_blank"><!-- Linia superior --><div class="titol">${titulo}</div><!-- Columna esquerra --><div class="left"><div class="foto"> <img class="imatge-oferta" src="${enlaceFoto}"> </div><div class="enlace"><span>Precio alojamiento desde</span><br><span id="test">${precio} $ </span></div></div><!-- Columna dreta --><div class="right"><span>${textoOferta}</span></div></a> </div>';      

    for (var i = 0; i < num_productos; i++) {
        var dataActual = data[i];               
        var valores = { "enlace"        : dataActual['enlace'][idioma],
                        "titulo"        : dataActual['titulo'][idioma],
                        "enlaceFoto"    : dataActual['imagen'][idioma],
                        "precio"        : dataActual['camping'],
                        "textoOferta"   : dataActual['descripcion'][idioma]};           

        var test = $.tmpl(plantillaTemplate, valores).appendTo("#divOfertas");  
    }

我有一个函数参数,它说明哪些附加元素部分可见,哪些不可见。所以我想要做的是访问测试变量中的一个元素,就像我对 jQuery 所做的那样并禁用它。

有什么办法吗?

PD:我知道我可以在追加之后执行此操作,但我想在此之前执行此操作。

【问题讨论】:

  • 你应该发布更多代码,但我认为你可以试试这个$(plantillaTemplate).addClass("myClass"),将类添加到第一个 div contenedor-oferta
  • 禁用什么?你能告诉我们你在追加后是怎么做的吗?

标签: javascript jquery dom append


【解决方案1】:

$.tmpl 调用之后,生成的 jQuery 对象应该能够支持禁用元素所需的所有常用 jQuery 方法,即使它们尚未添加到 DOM 中。例如:

var test = $.tmpl(plantillaTemplate, valores).find('.test').prop('disabled', true).end().appendTo("#divOfertas");

使用.find() 方法通过传递通常的选择器字符串来关注一组特定的元素。 OP 提到了“禁用”元素,所以我认为 .prop('disabled', true) 方法是您正在寻找的。最后,.end() 方法确保您将整批 HTML 附加到文档中,而不仅仅是 .find() 的结果。

【讨论】:

    猜你喜欢
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 2014-04-17
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    相关资源
    最近更新 更多