2009-06-24 20 views

risposta

250

Proprio usare qualcosa come:

var author = $('meta[name=author]').attr("content"); 
+2

var autore = $ ("[name = 'autore'] meta") attr ("contenuti. "); Il preventivo era solo un po 'fuori. –

+1

@JimSpeaker: tecnicamente non c'è bisogno di virgolette per una singola parola, anche se sarei d'accordo che è meglio includerle a prescindere. –

4
$("meta") 

dovrebbe dare indietro una serie di elementi il ​​cui nome di tag è META e poi si può iterare la collezione di scegliere ciò che gli attributi degli elementi si è interessato a.

17

Questo parser sarebbe utile?

https://github.com/fiann/jquery.ogp

analizza i metadati OG a JSON, quindi si può semplicemente utilizzare direttamente i dati. Se preferisci, puoi leggerli/scriverli direttamente usando JQuery, ovviamente. Ad esempio:

$("meta[property='og:title']").attr("content", document.title); 
$("meta[property='og:url']").attr("content", location.toString()); 

Nota le virgolette singole attorno ai valori degli attributi; questo impedisce errori di analisi in jQuery.

Questa è la stessa risposta che ho dato qui: https://stackoverflow.com/questions/4059207

+2

il parser che stai specificando qui (e in poche altre domande) è per OG DATA (lo dici anche tu stesso) mentre l'OP chiedeva informazioni su META TAGS e non su OG Data. – Dementic

8

Ho appena provato questo, e questo potrebbe essere un errore specifico la versione jQuery, ma

$("meta[property=twitter:image]").attr("content"); 

ha provocato il seguente errore di sintassi per me :

Error: Syntax error, unrecognized expression: meta[property=twitter:image] 

A quanto pare non piace il colon. Sono stato in grado di risolvere il problema utilizzando le virgolette doppie e singole in questo modo:

$("meta[property='twitter:image']").attr("content"); 

(jQuery versione 1.8.3 - mi dispiace, avrei fatto di questo un commento a @Danilo, ma non me lo permette commentare ancora)

5

jQuery ora supporta .data();, quindi se avete

<div id='author' data-content='stuff!'> 

uso

var author = $('#author').data("content"); // author = 'stuff!' 
1

Per selezionare il meta meta twitter, è possibile aggiungere un attributo dati.

esempio:

meta name="twitter:card" data-twitterCard="" content="" 
$('[data-twitterCard]').attr('content'); 
0
var author = $('meta[name=author]').attr("content"); 

risolvere il mio problema, come ad esempio:

<meta name="author" content="a314r"> 
Problemi correlati