Respuestas:
var value_input = $("input[name*='xxxx']").val();
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:
$("#ID").attr("name");
Y segundo, la versión de Vanilla JS :
document.getElementById('ID').getAttribute("name");
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 .
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!
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
$('.mytarget').change(function() {
var name1 = $(this).attr("name");
alert(name1);
});
});
</script>
Name: <input type="text" name="myname" id="myname" class="mytarget"><br />
Age: <input type="text" name="myage" id="myage" class="mytarget"><br />
utilizando el valor obtener el nombre de entrada
$('input[value="1"]').attr('name');
usando id obtener el nombre de entrada
$('input[class="id"]').attr('name');
$('#id').attr('name');
usando la clase obtener el nombre de entrada
$('input[value="classname"]').attr('name');
$('.classname').attr('name'); //if classname have unique value
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:
var listOfUnchecked = $('.selectable-checkbox:unchecked').toArray().map(x=>x.name);
o
var listOfUnchecked = [];
$('.selectable-checkbox:unchecked').each(function () {
listOfUnchecked.push($(this).attr('name'));
});
Pase la clase a la etiqueta de entrada y acceda al valor del nombre utilizando class.
<input class="test-class" name='xxxxx' value=1>
<script>
$('.test-class').attr('name');
</script>
O también puede acceder al valor usando id.
<input id="test-id" name='xxxxx' value=1>
<script>
$('#test-id').attr('name');
</script>
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:
<button class='btn btn-primary btn-xs appDelete' type='button' currnetRowAppName='"+row.applicationName+"' id="+row.id+ >
var viewAppNAME = $(this).attr("currnetRowAppName");
alert(viewAppNAME)
Esto está funcionando bien.