2013-03-18 72 views
0

我得到的附加元素的網頁使用模板誰的話來說,這樣的功能:編輯DOM元素之前將其追加

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

你應該發佈一些更多的代碼,但我認爲你可以嘗試這個'$(plantillaTemplate).addClass(「myClass」)',將類添加到第一個div' contenedor-oferta' – 2013-03-18 17:45:00

+0

禁用什麼?你能告訴我們如何在追加後做到這一點嗎? – Bergi 2013-03-18 18:00:30

回答

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()的結果。