benim html kaynağı <template>
etiketini kullanmaya çalışıyorum bu durum var:html şablon etiketi ve jquery
<template id="some-id">
<div id="content-container">
<span>{{some_string}}</span>
<div>
</template>
Bu belgede şablon yerleştirerek biter ama kabul edilmez DOM'da olmak. Bu, şablon etiketlerini destekleyen tarayıcılarda $ ("# content-container") bulunmadığı anlamına gelir. Ben ararsanız:
$("#some-id")
Bunu geri almak: Bunun
<template id="some-id">
#document-fragment
<div id="content-container">
<span>{{some_string}}</span>
<div>
</template>
Yok beni şaşırtıyor. Ne yapmam gerektiğini bilmem gereken belge fragmanının içeriğini klonlamak ve daha sonra istediğim yerde DOM'a yapışabildiğim yeni bir düğüme sahip olmak.
Bu w/o jQuery öğesinin nasıl yapılacağına dair örnekler buldum ancak bu nesnenin etrafındaki kodun çoğu jQuery'yi kullanıyor ve bunu yapmak için jQuery'yi nasıl kullanacağımı bilmem gerekiyor.
stuff = $("#some-id").html()
new_node = $(stuff)
Bu aşağıdaki hatalara yol açar:
Error: Syntax error, unrecognized expression: <the html string>
ben bilmiyorum
ilk düşüncem yeni bir düğüm oluşturmak için kullanırlar html almak ve etmekti hata bıyık sözdizimi tarafından kaynaklanır veya değil. Bu davranışa bir yerde bir jQuery çözümü olması gerektiğini düşünüyorum ama Google ile arama yaptığımda farklı olan jQuery Şablonları için isabet craploads aldım.
Bu konuda bana yardımcı olacak sitelerin/sayfaların düşünceleri, yanıtları veya işaretçileri var mı? Bir şeyleri hackish olarak bir araya getirmekten kaçınmaya çalışıyorum.
DÜZENLEME: Bu çözümü bulmayı bitirdim (Hala bir çözüm olduğundan emin olmak için test ediyorum ama umut verici görünüyor);
template = $("#some-id")
content = template.html()
new_div = $("<div></div>")
new_div.html(content)
Daha önce gerçekten ihtiyaç duymadığım bir div içeren son buluyorum ama bununla yaşayabiliyorum. Ama bu tür kludgy hissediyor. Bunun daha iyi bir yaklaşımı var mı? Bunun tersi, şablon etiketi davranışını henüz tam olarak uyarlamayan tarayıcılarda çalışmaya devam etmesidir.
Teşekkürler!
'$ ("# bazı-id") html'' olmalı $ ("# some-id") html() ' – Nope
oops, evet bu benim soruma bir yazım hatası. Onu tamir edeceğim. – jaydel
jquery.clone bir göz var bu size yardımcı olacak gibi geliyor ^^ http://api.jquery.com/clone/ – azzy81