我有一个函数可以将元素附加到使用模板调用它的页面,如下所示:
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:我知道我可以在追加后做到这一点,但我想先做。答案 0 :(得分: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()
的结果。