2011-09-05 27 views
31

Estos son mis meta-tags:Cambio de meta-etiquetas dinámicas con jQuery

<meta property="og:image" content="assets/css/gfx/skold.png"/> 
<meta property="og:title" content="Den historie hjemmesiden for Norges Golfforbund"/> 
<meta property="og:description" content="Her finner du alle de historie tingene som har skjedd i Norges golfhistorie gjennom tidene" /> 
<meta property="og:url" content="http://###"/> 
<meta property="og:site_name" content="Norges Golfklubb"/> 
<meta property="og:type" content="sport"/> 

y estoy tratando de cambiarlos dinámica con el siguiente código:

$("meta[property=og:title]").attr("content", result.title); 

pero estoy en seguir recibiendo Sintaxis error, expresión no reconocida: [propiedad = og: título] en Firebug.

Uso de la última versión de jQuery. ¿Alguien sabe lo que estoy haciendo mal?

+10

Si se trata de Facebook para raspar, tenga en cuenta que si se actualiza con JavaScript, Facebook no tendrá acceso a la valor modificado. – alex

+0

Bueno. Tienen valores predeterminados, pero la página web está compuesta por Ajax y Javascript de manera entusiasta, así que tengo que cambiar la información en otra para compartir el contenido correcto en Facebook. – OptimusCrime

+1

Necesita un valor predeterminado para un enlace permanente, no puede tener una etiqueta OG generada dinámicamente para Facebook, siempre devolverá el valor predeterminado o vacío, cuando intente vincularlo en un cuadro Comentario/Compartir de FB. – Relic

Respuesta

41

creo que debe escapar : vistazo a la documentation

$("meta[property='og\\:title']").attr("content", result.title); 
+4

puede ponerlo entre comillas simples también. –

+4

''og: title'' debe estar en comillas simples – Relic

+0

@Relic funciona de todos modos, en cualquier caso cambié para usar comillas simples –

3

Asegúrese de que sus citas son de esta manera:

$('meta[property="og:description"]').attr('content',"$modified_desc"); 
+0

Esto sería adecuado para lo que está intentando lograr aunque el resultado final siga siendo el mismo, de modo que resuelva el síntoma y no el problema. – Relic

3

Usted puede dar a cada elemento meta o un ID de clase.

$('#metaelement').attr('content', 'my new meta description'); 
6
$("meta[name='og:title']").attr('content', 'my new title'); 

El uso de "propiedad =" no funciona en Chrome