Получать стоимость элемента “a” с jQuery

HTML:

<a onclick="funcion(this)" value="4">Un Nombre</a>

JAVASCRIPT:

<script>
  function(elemento){
    console.log(elemento.value);
  }
</script>

это возвращает меня

undefined

4
задан 04.08.2016, 15:04
3 ответа

value="" это не действительный attributo для ссылки (anchor).

Правильная форма состояла бы в том, чтобы добавлять признак data-value

<a onclick="mifuncion(this)" data-value="4">Un Nombre</a>

Здесь тебе может казаться специфические признаки вынесенными из-за <a>: https://developer.mozilla.org/en/docs/Web/HTML/Element/a

Также ты можешь видеть глобальные признаки, которые могут быть включенными в <a>: https://developer.mozilla.org / en-US / docs / Веб / HTML / Global_attributes


Чтобы получать этот признак data-value посредством jQuery, мы можем использовать метод восходи () jQuery перемещая как параметр текст имени признака после data-, тебе остается кроме того определять функцию (имя):

<script>
  function mifuncion(elemento) {
    console.log($(elemento).data('value'));
  }
</script>

Посредством языка сценариев JavaScript vanilla он равен легкого, с различием, которое нет внешнего librería/framework, только мы используем свойство dataset и снова имя признака после текста data-:

<script>
  function mifuncion(elemento) {
    console.log(elemento.dataset.value);
  }
</script>
7
ответ дан 24.11.2019, 13:43
  • 1
    спасибо и # 241; or, новая вещь, которая изучается. – Jónathan Cuellar 04.08.2016, 18:40

У tag <a> нет признака оцените стандартной формы, ты можешь определять это, но дело не в том, что считал с первый

годом HTML Tag

краев, что value не действительный, но равный признак с jquery, ты мог бы осуществлять

$(function(){
     $('a').click(function(e){
       
          alert($(this).attr('value'));
       
       });
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>

<a value="4">Un Nombre</a>
2
ответ дан 24.11.2019, 13:43
  • 1
    ok, большое спасибо из-за informaci и # 243; n. – Jónathan Cuellar 04.08.2016, 18:45

С чистого языка сценариев JavaScript:

Нужно считать:

  1. Код javaScript был бы должен присутствовать ПРЕЖДЕ ЧЕМ документ будьте загружен, чтобы мочь распределять ему функцию. Следовательно, <script> должен будь быть доступным раньше. Форма, легкая для того, чтобы это быть решено это грузя в <head>.
  2. value это не свойство, которое принадлежало бы в <a>, следовательно, ты был бы должен возвращать стоимость с .getAttribute().
  3. Ты забыл
  4. поместить ему имя в функцию. Мы можем называть ее MostrarValor.

function MostrarValor(elemento){
    console.log(elemento.getAttribute("value"));
}
<a onclick="MostrarValor(this);" value="4">Un Nombre</a>

С jQuery

Снова, загружая это в <head> и определяя имя для функции. Этот раз, мы используем .attr():

function MostrarValor(elemento){
    console.log($(elemento).attr("value"))
}
<!-- Ponemos la referencia a jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<!-- Tu HTML -->
<a onclick="MostrarValor(this);" value="4">Un Nombre</a>
2
ответ дан 24.11.2019, 13:43
  • 1
    спасибо, очень хороший informaci и # 243; n. – Jónathan Cuellar 04.08.2016, 18:44