Esta publicación se marca automáticamente como de baja calidad porque es un código muy corto / único. ¿Le importaría expandirlo agregando texto para explicar cómo resuelve el problema?
gung
2
En realidad no resuelve el problema. OP quiere obtener el valor del nombre; esto supone que ya lo sabes.
Felwithe
16
Si bien no se puede negar que jQuery es una herramienta poderosa, es una muy mala idea usarla para una operación tan trivial como "obtener el valor de atributo de un elemento".
A juzgar por la respuesta aceptada actual, voy a suponer que pudo agregar un atributo de ID a su elemento y usarlo para seleccionarlo.
Con eso en mente, aquí hay dos piezas de código. Primero, el código que se le dio en la Respuesta aceptada:
Puedes probar por ti mismo aquí . La versión "JavaScript simple" es más de 35 veces más rápida que la versión jQuery.
Ahora, eso es solo para una operación, con el tiempo tendrás más y más cosas en tu código. Quizás para algo particularmente avanzado, la solución óptima de "JavaScript puro" tardaría un segundo en ejecutarse. ¡La versión jQuery puede tardar entre 30 segundos y un minuto entero! ¡Eso es enorme! La gente no se va a quedar sentada para eso. ¡Incluso el navegador se aburrirá y le ofrecerá la opción de matar la página web por tomar demasiado tiempo!
Como ya he dicho, jQuery es una herramienta poderosa, pero debería no ser considerada la respuesta a todo .
buena respuesta, hice una verificación cruzada para que javascript sea más rápido que jquery ¿verdad?
Rijo
Respondió esta pregunta 4 años después de que se le hizo la pregunta y no la respondió. La persona preguntó cómo hacerlo en jQuery.
Depende
Vanilla JS! ?? bromeando, pasé media hora investigando qué demonios es Vanilla JS.
Basheer AL-MOMANI
Quizás el desarrollador no lo sabe. Era consciente del hecho de que los frameworks como jQuery causan cierta sobrecarga. Pero no esperaba ralentizar tareas tan simples en el factor 35 al usar jQuery ...
Daniel
7
Necesita escribir un selector que seleccione el correcto <input>primero. Lo ideal es usar la ID del elemento $('#element_id'), en caso de que la ID de su contenedor $('#container_id input')o la clase del elemento $('input.class_name').
Su elemento no tiene ninguno de estos y ningún contexto, por lo que es difícil decirle cómo seleccionarlo.
Una vez que haya descubierto el selector adecuado, usaría el método attr para acceder a los atributos del elemento. Para obtener el nombre, usaría el $(selector).attr('name')que devolvería (en su ejemplo) 'xxxxx'.
Una mejor manera podría ser usar 'this', toma el nombre del 'id' y lo usa. Siempre que agregue el nombre de clase llamado 'mytarget'.
Cada vez que alguno de los campos que tenga un objetivo cambie, aparecerá un cuadro de alerta con el nombre de ese campo. ¡Simplemente corte y pegue todo el script para que funcione!
Si está tratando con un solo elemento, preferiblemente debe usar el idselector como se indica en la respuesta GenericTypeTea y obtener el nombre como $("#id").attr("name");.
Pero si desea, como hice cuando encontré esta pregunta, una lista con todos los nombres de entrada de una clase específica (en mi ejemplo, una lista con los nombres de todas las casillas de verificación sin marcar con .selectable-checkboxclase), podría hacer algo como:
var listOfUnchecked = $('.selectable-checkbox:unchecked').toArray().map(x=>x.name);
o
var listOfUnchecked =[];
$('.selectable-checkbox:unchecked').each(function(){
listOfUnchecked.push($(this).attr('name'));});
Para la siguiente línea, inicialmente se enfrentó a un problema al no proporcionar un código único que el valor 'currnetRowAppName' no está ocupando espacio con la cadena. Entonces, después de dar un código único '"+row.applicationName+"', también ocupa espacio.
Ejemplo:
<buttonclass='btn btn-primary btn-xs appDelete'type='button'currnetRowAppName='"+row.applicationName+"'id="+row.id+ >
var viewAppNAME = $(this).attr("currnetRowAppName");
alert(viewAppNAME)
Si bien no se puede negar que jQuery es una herramienta poderosa, es una muy mala idea usarla para una operación tan trivial como "obtener el valor de atributo de un elemento".
A juzgar por la respuesta aceptada actual, voy a suponer que pudo agregar un atributo de ID a su elemento y usarlo para seleccionarlo.
Con eso en mente, aquí hay dos piezas de código. Primero, el código que se le dio en la Respuesta aceptada:
Y segundo, la versión de Vanilla JS :
Mis resultados:
Puedes probar por ti mismo aquí . La versión "JavaScript simple" es más de 35 veces más rápida que la versión jQuery.
Ahora, eso es solo para una operación, con el tiempo tendrás más y más cosas en tu código. Quizás para algo particularmente avanzado, la solución óptima de "JavaScript puro" tardaría un segundo en ejecutarse. ¡La versión jQuery puede tardar entre 30 segundos y un minuto entero! ¡Eso es enorme! La gente no se va a quedar sentada para eso. ¡Incluso el navegador se aburrirá y le ofrecerá la opción de matar la página web por tomar demasiado tiempo!
Como ya he dicho, jQuery es una herramienta poderosa, pero debería no ser considerada la respuesta a todo .
fuente
Necesita escribir un selector que seleccione el correcto
<input>
primero. Lo ideal es usar la ID del elemento$('#element_id')
, en caso de que la ID de su contenedor$('#container_id input')
o la clase del elemento$('input.class_name')
.Su elemento no tiene ninguno de estos y ningún contexto, por lo que es difícil decirle cómo seleccionarlo.
Una vez que haya descubierto el selector adecuado, usaría el método attr para acceder a los atributos del elemento. Para obtener el nombre, usaría el
$(selector).attr('name')
que devolvería (en su ejemplo)'xxxxx'
.fuente
Una mejor manera podría ser usar 'this', toma el nombre del 'id' y lo usa. Siempre que agregue el nombre de clase llamado 'mytarget'.
Cada vez que alguno de los campos que tenga un objetivo cambie, aparecerá un cuadro de alerta con el nombre de ese campo. ¡Simplemente corte y pegue todo el script para que funcione!
fuente
fuente
utilizando el valor obtener el nombre de entrada
usando id obtener el nombre de entrada
usando la clase obtener el nombre de entrada
fuente
Si está tratando con un solo elemento, preferiblemente debe usar el
id
selector como se indica en la respuesta GenericTypeTea y obtener el nombre como$("#id").attr("name");
.Pero si desea, como hice cuando encontré esta pregunta, una lista con todos los nombres de entrada de una clase específica (en mi ejemplo, una lista con los nombres de todas las casillas de verificación sin marcar con
.selectable-checkbox
clase), podría hacer algo como:o
fuente
Pase la clase a la etiqueta de entrada y acceda al valor del nombre utilizando class.
O también puede acceder al valor usando id.
fuente
Para la siguiente línea, inicialmente se enfrentó a un problema al no proporcionar un código único que el valor 'currnetRowAppName' no está ocupando espacio con la cadena. Entonces, después de dar un código único
'"+row.applicationName+"'
, también ocupa espacio.Ejemplo:
Esto está funcionando bien.
fuente