elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  jquery desde un archivo js
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: jquery desde un archivo js  (Leído 10,788 veces)
FJDA


Desconectado Desconectado

Mensajes: 323


Ver Perfil
jquery desde un archivo js
« en: 29 Abril 2017, 20:10 pm »

hola

estoy intentado usar jquery desde una archivo js, pero no devuelve valor.


Quiero obtener el color rgb del bacground de  un <label>


var colorRGB;

(function($){colorRGB=$('label').css('background-color')})(jQuery);


pero la variable colorRGB es Undefined. El <label> tiene color y desde html la funcion $('label').css('background-color') funciona y devuelve el color. pero no consigo que funcione desde un archivo js.

No se usar jquery dentro de un archivo js   :(




En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: jquery desde un archivo js
« Respuesta #1 en: 29 Abril 2017, 20:15 pm »

primero que nada en tu html el jquery debe estar declarado primero que tu script... si no lo ha interpreado el navigador de antemano, no lo puede usar... (como una canción... si nunca la has escuchado antes, no la puedes cantar...)

no se para que añadiste JQeury entre parentesis al final...

por otro lado, fuera del ámbito de esa función si colorRGB no ha sido declarada (digo, puedes descubrir como hacer oro a partir de agua y un carbón, pero si está en un cuaderno en tu gaveta, nadie lo sabrá)


« Última modificación: 29 Abril 2017, 20:16 pm por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
FJDA


Desconectado Desconectado

Mensajes: 323


Ver Perfil
Re: jquery desde un archivo js
« Respuesta #2 en: 29 Abril 2017, 20:31 pm »

primero que nada en tu html el jquery debe estar declarado primero que tu script... si no lo ha interpreado el navigador de antemano, no lo puede usar... (como una canción... si nunca la has escuchado antes, no la puedes cantar...)

no se para que añadiste JQeury entre parentesis al final...

por otro lado, fuera del ámbito de esa función si colorRGB no ha sido declarada (digo, puedes descubrir como hacer oro a partir de agua y un carbón, pero si está en un cuaderno en tu gaveta, nadie lo sabrá)

como he dicho desde el HTML funciona (obvio he declarado  he cargado script jquery)

Código:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>

no se puede desde una archivo js declarar:
Código:
$('label').css('background-color')
porque retorna error ($ no es un función)


lo pongo entre paréntesis porque así es como lo encontré aquí;

http://stackoverflow.com/questions/2937227/what-does-function-jquery-mean

y si no lo pongo da error. Con
Código:
(function($) {

})(jQuery);

parece que trabaja pero parece como si no pudiera obtener el background-color del objeto, o el objeto mismo o no sepa como sacar el valor de la función.



En línea

3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: jquery desde un archivo js
« Respuesta #3 en: 29 Abril 2017, 20:36 pm »

Como dice angel, verifica que tu jquery este antes y que se cargue antes de empezar a escribir tu código, (si inspeccionas elemento, podras ver en  la consola de tu navegador los errores).

Ademas, te recomiendo hacer en onload del documento de esta forma:

Código
  1. $(function(){
  2.    // aca tu codigo
  3. });
  4.  

Esto hará que tu codigo JS se cargue después que el resto del sitio, de esta forma evitaras errores como el que tu código se ejecute antes de que se cree un label (por tanto, antes de que tenga color)

PD: FJDA - Java no es javascript, no tienen nada de similar aparte del nombre (el cual le pusieron así por la popularidad del momento) :xD y también siempre intenta que el código este entre GeSHi


--- Edito ---
Prueba hacer el onload de la forma que te digo, no de esa forma, y veamos que pasa. Si te aparece que $ no es funcion quiere decir que no se cargo o no reconoció correctamente el jquery. Verifica que en la consola no te diga que no se encontró el archivo o algo por el estilo.
« Última modificación: 29 Abril 2017, 20:38 pm por 3n31ch » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: jquery desde un archivo js
« Respuesta #4 en: 29 Abril 2017, 20:39 pm »

para dejarlo más claro porque parecen no haberlo entendido


esto si va a funcionar
Código:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script src="tu_script.js"></script>

esto no va a funcionar  y dirá que $ no es una función (porque tu script al momento de correrse no conocía jscript)
Código:
<script src="tu_script.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
FJDA


Desconectado Desconectado

Mensajes: 323


Ver Perfil
Re: jquery desde un archivo js
« Respuesta #5 en: 29 Abril 2017, 20:42 pm »

para dejarlo más claro porque parecen no haberlo entendido


esto si va a funcionar
Código:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script src="tu_script.js"></script>

esto no va a funcionar  y dirá que $ no es una función (porque tu script al momento de correrse no conocía jscript)
Código:
<script src="tu_script.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>

está puesto así ya me di cuenta des de el principio ya cuando lo implementé en el HTML que debe estar primero

Código:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script src="tu_script.js"></script>
En línea

3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: jquery desde un archivo js
« Respuesta #6 en: 29 Abril 2017, 20:47 pm »

Prueba textual esto:

HTML>
Código
  1. <!DOCTYPE html>
  2. <title>SITIO WEB</title>
  3. <script type="text/javascript" src = "https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
  4. <script type="text/javascript" src = "js.js"></script>
  5. <link rel="stylesheet" type="text/css" href="css.css">
  6. </head>
  7. <label>Hola Mundo</label>
  8. </body>
  9. </html>
  10.  

CSS:
Código
  1. label {
  2. background:red;
  3. }
  4.  

JS:
Código
  1. $(function(){
  2. var bgcolor = $('label').css('background-color');
  3. alert(bgcolor);
  4. });
  5.  

PD: Es mala practica poner el JS arriba del todo. Pero meeh
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: jquery desde un archivo js
« Respuesta #7 en: 29 Abril 2017, 20:51 pm »

otra cosa que comenta 3n31ch onload... puede que tu script esté corriendo antes de haberse cargado el html (es un tipo de practica)

para esto tienes varias formas la mas simple es

Código
  1. $.ready(function(){
  2.  
  3.    //aquí tu codigo
  4.    var colorRGB=$('label').css('background-color');
  5.    console.log(colorRGB);
  6.  
  7. });
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
FJDA


Desconectado Desconectado

Mensajes: 323


Ver Perfil
Re: jquery desde un archivo js
« Respuesta #8 en: 29 Abril 2017, 21:08 pm »

Prueba textual esto:

HTML>
Código
  1. <!DOCTYPE html>
  2. <title>SITIO WEB</title>
  3. <script type="text/javascript" src = "https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
  4. <script type="text/javascript" src = "js.js"></script>
  5. <link rel="stylesheet" type="text/css" href="css.css">
  6. </head>
  7. <label>Hola Mundo</label>
  8. </body>
  9. </html>
  10.  

CSS:
Código
  1. label {
  2. background:red;
  3. }
  4.  

JS:
Código
  1. $(function(){
  2. var bgcolor = $('label').css('background-color');
  3. alert(bgcolor);
  4. });
  5.  

PD: Es mala practica poner el JS arriba del todo. Pero meeh

genial tu código funciona  ;-)

pero es que yo tengo funciones y dentro de $(function()) no puedo llamarlas, me dice que no están definidas.

Código
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <meta charset="UTF-8">
  4. <title>Document</title>
  5. <script type="text/javascript" src = "https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
  6. <script type="text/javascript" src="mijs.js"></script>
  7.  
  8. <style type="text/css">
  9. label {
  10. position:absolute;
  11. width: 200px;
  12. height: 200px;
  13. background-color:red;
  14. }
  15.  
  16. </head>
  17.  
  18.  
  19.  
  20. </form>
  21. </body>
  22. </html>



JS
Código:
window.alert(getColorRGB())


$(function(){
 function getColorRGB()
{
var bgcolor = $('label').css('background-color');
return bgColor
}
});

igualmente no sabría como llamar a  getColorRGB() desde el HTML, ya que me daría error igual.
« Última modificación: 29 Abril 2017, 21:09 pm por FJDA » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: jquery desde un archivo js
« Respuesta #9 en: 29 Abril 2017, 21:09 pm »

no solo porque está una funcion dentro de otra, tambien porque la llamas antes de declararla...

y por eso es bueno mostrar el codigo de buenas a primeras...
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Alguien me puede ayudar desde cero como instalar una galeria JQUERY
Desarrollo Web
zenydark 1 4,951 Último mensaje 11 Abril 2011, 03:06 am
por Nakp
ayuda con el id de un archivo externo jquery y php
PHP
geshiro 0 1,402 Último mensaje 5 Octubre 2015, 05:32 am
por geshiro
ayuda con el id de un archivo externo jquery y php
PHP
geshiro 0 1,508 Último mensaje 7 Octubre 2015, 23:20 pm
por geshiro
Llamar funcion de una clase php desde jquery
PHP
Ethgar 2 10,742 Último mensaje 26 Noviembre 2015, 18:04 pm
por #!drvy
[Pregunta]: Jquery acumular desde arriba
Desarrollo Web
Leguim 0 1,498 Último mensaje 25 Febrero 2019, 07:16 am
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines