2012-09-01 9 views
26

Come posso ottenere il valore di un attributo personalizzato utilizzando javascript o jquery?Ottieni il valore di un attributo personalizzato utilizzando Javascript o Jquery

Come

<strong id="the id" original-title="I NEED THIS"> 

Ho provato con .getAttribute() and attr() .. (Javascrupt & jQuery) senza successo qualche idea?

+0

permette di vedere il markup allora? – adeneo

+2

Speriamo che il tuo ID non abbia uno spazio nel mezzo? – adeneo

+0

sì ci spazi aren – stiffle

risposta

41

Non usare lo spazio in id.

E l'aggiunta di attributi personalizzati rende l'html non valido. Utilizzare data-attributes invece:

<strong id="the_id" data-original-title="I NEED THIS"> 

$('#the_id').data('original-title'); 

http://jsbin.com/akoyut/2/edit

0

è possibile ottenere il valore utilizzando la seguente sintassi

$('#theid').attr('original-title'); 
+2

utilizzando jquery..ho provato, ma restituisce null – stiffle

0
$('#the<remove space from here>id').attr('original-title'); 
0

Il seguente è un esempio di lavoro:

Javascript:

$(document).ready(function() {  
    var title = $("#the_id").attr("original-title"); 
} 

Html:

<strong id="the_id" original-title="I NEED THIS"></strong> 
1

Se si must spazi di uso in un id, recuperare l'elemento e il valore di attributo in questo modo:

$('[id="the id"]').attr([some attribute string]); 
//or 
$('#the\\ id').attr([some attribute string]); 

Per attributi personalizzati miglior uso degli attributi HTML5 data-[somelabel], è compatibile e standardizzato. Quindi nel tuo caso qualcosa come:

<strong id="the id" data-originalTitle="I NEED THIS"> 

Read more about data-attributes

+0

+1 Non ho mai saputo che possiamo usare \\ per escape – Moons

24

Change "l'id" a "the_id".

È possibile farlo utilizzando JavaScript pianura:

document.getElementById("the_id").getAttribute("original-title"); 
15

modo migliore per utilizzare in questo modo:

jQuery(this).attr('original-title'); 
+0

Questo non funzionerà ... – Shubh

+0

Questo funziona bene. L'ho controllato –

+0

Funziona bene in Google Chrome. – alexander

2
a var DateofEvent = $('[data-original-title=I NEED THIS]').val(); 
Problemi correlati