Foros del Web » Programando para Internet » Javascript »

acceder a un atributo de un img dentro de un div

Estas en el tema de acceder a un atributo de un img dentro de un div en el foro de Javascript en Foros del Web. Hola a todos, Quiero obtener el atributo src de este img: <div id="Dia1"> <span class="wt"> <img height="60" width="60" alt="Poco nuboso" title="Poco nuboso" src="/i/WI/BgMax/60/34.png"> </span> </div> ...
  #1 (permalink)  
Antiguo 01/02/2011, 17:49
 
Fecha de Ingreso: febrero-2011
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
acceder a un atributo de un img dentro de un div

Hola a todos,

Quiero obtener el atributo src de este img:

<div id="Dia1">
<span class="wt">
<img height="60" width="60" alt="Poco nuboso" title="Poco nuboso" src="/i/WI/BgMax/60/34.png">
</span>
</div>

este codigo corresponde a la web http://www.tutiempo.net/Tiempo-Girona-E17001.html i la img es la del sol con nubes.

Quiero obtener este src porque mi idea es: cuando en esta pagina se cambie la imagen por una de lluvia (11.png) ejecute un script de lluvia en mi web.

Solo necesito comparar el valor del src por otro para saber si llueve o no.

No se si me explico jeje. he probado con esto pero no acaba de ir bien:

<iframe src="http://www.tutiempo.net/Tiempo-Girona-E17001.html"
width="0" height="0" frameborder="0">
</iframe>

<script type="text/javascript">
var a="/i/WI/BgMax/60/11.png";
if($('#Dia1.wt img').attr('src' , a))
document.write("<" + "script src=\"./scripts/lluvia.js\"></" + "script>")
</script>

Gracias
  #2 (permalink)  
Antiguo 01/02/2011, 18:02
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Tema movido desde AJAX

No veo nada de Ajax en la pregunta, y aunque parece que usas una librería, me parece que podría ser mejor tratar el tema desde el servidor.

Tal vez podrías explicar mejor tu problema.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 02/02/2011, 03:50
 
Fecha de Ingreso: febrero-2011
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: acceder a un atributo de un img dentro de un div

he usado la libreria jquery para acceder a los atributos del img que esta dentro de un div id y un span class pero es muy dificil para mi jeje, no he podido.
  #4 (permalink)  
Antiguo 02/02/2011, 06:15
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 10 meses
Puntos: 16
Respuesta: acceder a un atributo de un img dentro de un div

Estás intentando ejecutar JS en una web ajena, por lo que no te funciona. Para obtener la información que quieres, tendrías que parsear la web para obtener la ruta de la imagen que buscas.

Te abro el camino, pero eso sí, sería con PHP:
http://es.php.net/file_get_contents
http://es.php.net/preg_match_all
  #5 (permalink)  
Antiguo 02/02/2011, 06:25
 
Fecha de Ingreso: febrero-2011
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: acceder a un atributo de un img dentro de un div

Gracias. Pero con el iframe no se supone que la web que me interesa obtener el atributo del img esta dentro de la mia ? . En principio el iframe sirve para incrustar una web dentro de otra.
  #6 (permalink)  
Antiguo 02/02/2011, 06:41
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 10 meses
Puntos: 16
Respuesta: acceder a un atributo de un img dentro de un div

Insertas una ventana que muestra la otra web, pero no tienes sus fuentes y por ende su funcionalidad. Es como si la abres en otra pestaña y/o ventana.
  #7 (permalink)  
Antiguo 02/02/2011, 06:50
 
Fecha de Ingreso: febrero-2011
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: acceder a un atributo de un img dentro de un div

vaaaaaaaaaaaaale gracias tio eres un crack !!!! me has resuelto muchas dudas ;).

mira he encontrado este codigo que serivira si lo retoco correctamente para lo que quiero:

$html = file_get_contents('http://www.fotopex.com');
$dom = new DOMDocument(); // creamos un nuevo documento
@$dom->loadHTML($html); // cargamos el código html
// obtenemos todo de la pagina
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("/html/body//a");
for ($i = 0; $i <$hrefs->length; $i++) {
$href = $hrefs->item($i);
$url = $href->getAttribute('href'); // finalmente obtenemos la url
echo $url.'<br />'; // la desplegamos en pantalla
}

Saludos
  #8 (permalink)  
Antiguo 02/02/2011, 07:30
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 10 meses
Puntos: 16
Respuesta: acceder a un atributo de un img dentro de un div

Es una opción, sí, pero tampoco es necesario hacerlo tan enrevesado. Con una expresión regular, si la imagen de la web que comentas sigue un patrón, podrías sacarlo sin problemas.

El código que has puesto saca todos los hipervínculos de una web, no uno en concreto. Pero vamos, es un comienzo para empezar a pensar algo jeje
  #9 (permalink)  
Antiguo 02/02/2011, 08:48
 
Fecha de Ingreso: febrero-2011
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: acceder a un atributo de un img dentro de un div

SOLUCIONADO. Aquí os dejo el código para acceder a un atributo de un img de un span class en concreto dentro de un div en concreto:

$html = file_get_contents('http://www.tutiempo.net/Tiempo-Girona-E17001.html');
$dom = new DOMDocument(); // creamos un nuevo documento
@$dom->loadHTML($html); // cargamos el código html
// obtenemos todo de la pagina
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("/html/body//div[@id='Dia1']//span[@class='wt']//img");
for ($i = 0; $i <$hrefs->length; $i++) {
$href = $hrefs->item($i);
$url = $href->getAttribute('src'); // finalmente obtenemos la url
// echo $url.'<br />'; // la desplegamos en pantalla
}

Este código es el santo grial para acceder a los atributos que quieras de otra web retocandolo correctamente.

Saludos otra vez

Etiquetas: acceder, img, atributos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:26.