2011-08-26 19 views

Respuesta

17

Deberá utilizar JavaScript para poder verificar si el elemento existe y hacer el redireccionamiento.

Suponiendo que el div tiene un ID (por ejemplo div id = "elementId") sólo tiene que hacer:

if (!document.getElementById("elementId")) { 
    window.location.href = "redirectpage.html"; 
} 

Si está utilizando jQuery, lo siguiente sería la solución:

if ($("#elementId").length === 0){ 
    window.location.href = "redirectpage.html"; 
} 

Adición:

Si necesita comprobar el contenido de divs para una palabra específica (como creo que es lo que está preguntando ahora) puede hacer esto (jQuery):

$("div").each(function() { 
    if ($(this).text().indexOf("copyright") >= 0)) { 
     window.location.href = "redirectpage.html"; 
    } 
});​ 
+0

Puede simplemente usar 'location' en lugar de' window.location';) – arnaud576875

+1

Sí, puede :) pero podría tener una variable local "ubicación" dentro del mismo ámbito, que anularía la variable de ubicación global. Es por eso que tiendo a usar la "ventana". prefijo. –

4

Usando jQuery se puede comprobar de esta manera:

if ($ ("# divToCheck")) {// div existe } else {// OOPS div falta }

o

if ($("#divToCheck").length > 0){ 
    // div exists 
} else { 
    // OOPS div missing 
} 

o

if ($("#divToCheck")[0]) { 
    // div exists 
} else { 
    // OOPS div missing 
} 
+0

¿El primer código no siempre se evaluará como verdadero? – arnaud576875

+0

@ arnaud576875: Gracias por marcarlo. Actualizado la respuesta. –

2

¿Qué diferencia a este div en particular de los demás en la página?

Si tiene un ID, que pueda para esto con document.getElementById:

var div = document.getElementById('the-id-of-the-div'); 
if (!div) { 
    location = '/the-ohter-page.html'; 
} 

También puede comprobar el contenido del div:

var div = document.getElementById('the-id-of-the-div'); 
var html = div.innerHTML; 

// check that div contains the word "something" 
if (!/something/.test(html)) { 
    location = '/the-ohter-page.html'; 
} 
+0

(nota para los editores: la ubicación ** es ** window.location) – arnaud576875

1

Usted puede usar jQuery para que

if ($("#mydiv").length > 0){ 
    // do something here 
} 

Leer más aquí: http://jquery.com/

Editar: Se corrigió el error señalado en el comentario a continuación. Lo siento, día ocupado en el trabajo y me dispare demasiado feliz.

+1

'$ (" # mydiv ")' siempre devuelve un objeto y siempre se evalúa como verdadero – arnaud576875

+0

Muchas gracias por su respuesta, pero ¿sabe cómo puede verificarlo? el contenido del div, por ejemplo, si el div contiene la palabra [copyright], redirige a los visitantes a otra página. Gracias – shandoosheri