jQuery

2010-10-05 15 views
14
ile bir HTML niteliği nasıl eklenir

Eh, bir < > içinde "denetim" özniteliğini kullanan bu jQuery resmi slayt gösterisi var. Doğrulamadığının görülmesi jQuery ile HMTL içerisindeki bu özniteliğin eklenmesinin bir yolunu aradım ama gerçekten alakalı hiçbir şey bulamadım. Artık sayfamın ne kadar geçerli olduğunu umursamıyorum, ancak HTML etiketinin içine HTML niteliğinin nasıl ekleneceğini merak ediyorum. Benim açıklama ile yeterince açık değildi durumdajQuery

, Bu kodu vardır:

<a id="previous" control="-6" href="#"></a> 

Ve denetimi = eklemek istiyorum "- 6" jQuery ile.

cevap

13

jQuery sürümü burada ele kuyu olmuştur beri ben, işte şey farklı teklif düşündüm Yerel bir DOM API alternatifi:

document.getElementById('previous').setAttribute('control','-6'); 

Evet, jQuery için sorduğunuzu biliyorum. Yerel yolu da bilmek asla acıtmaz. : (o)

25

Kullanım jQuery'nin attr işlevi

$("#previous").attr("control", "-6"); 

bir örnek

// Try to retrieve the control attribute 
// returns undefined because the attribute doesn't exists 
$("#previous").attr("control"); 

// Set the control attribute 
$("#previous").attr("control", "-6"); 

// Retrieve the control attribute (-6) 
$("#previous").attr("control"); 

bu example on jsFiddle


Sen alternatif unsurları mağaza değerlerine data işlevini kullanabilirsiniz bakın. örneğin, aynı şekilde eserler:

$("#previos").data("control", { value: -6 }); 
($("#previos").data("control")).value; // -6 

bir data example on jsFiddle

+1

Doğru cevap. Ancak, veri() kullanarak karşı değilim, html düğümleri veri depolamak için uygun bir yer olduğunu sanmıyorum, bu V ve M. karıştırma, her zaman ekranda herhangi bir ortak verileri korumak için kullanılan bir model nesne oluşturmak. Ancak, küçük uygulamalar ve hafif sayfa geliştirmeleri için yararlıdır –

1

Bkz

$("#previous").data("control"); // undefined 
$("#previous").data("control", "-6"); // set the element data 
$("#previous").data("control"); // retrieve -6 

Eğer nesneler gibi daha karmaşık değerleri saklayabilir data kullanmak, bu deneyin:

$('#previous').attr('control', '-6'); 

Neden ? jQuery'nin $.attr(); işlevi, nitelikler (sınıf, kimlik, href, bağlantı, src, kontrol ve diğer her şey!) eklemenizi, almanızı veya güncellemenizi sağlar.

1
$("#previous").attr("control", "-6"); 
1

HTML:

<a id="previous" href="#">...</a> 

jQuery:

$('#previous').attr('control', '-6'); 
2

Seni anladım mı göreyim. Sen Örneğin, kod var: İstediğiniz jQuery tarafından

<a id="previous" href="#"></a> 

Ve olmak: Doğru

<a id="previous" control="-6" href="#"></a> 

mi? Olduysa. Yapmanız gerekenler:

$('#previous').attr('control', -6); 

Bir öznitelik yoksa jQuery tarafından oluşturulur. Yani, yapabileceğiniz çıkarmak için:

$('#previous').removeAttr('control'); 
html kuralları ve diğer her şeyi saygı duymayan yapıyoruz ne

ama gayet iyi çalışıyor, eklentilerin bir sürü aynı şeyi. ; D

bu yararlı olabilir umut!

görüşmek üzere!

+0

Bir kuralın saygı görmemesini sağlayabilir misiniz? – Lucas

+1

Harfin HTML kuralları, özel etiket niteliklerini kabul etmiyor. W3C Validator http://validator.w3.org/ kullanmayı deneyin. Endişelenecek bir şey yok, sadece iyi çalışıyorlar. Sorun, özel özelliklerin eklentilerin özel olanları ile veya bazı yeni sürümlerle çakışabileceğidir. –