0

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

 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:我知道我可以在追加之后执行此操作,但我想在此之前执行此操作。

4

1 回答 1

0

调用之后$.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().

于 2013-03-18T17:44:43.463 回答