Javascript: получить текущее содержимое элемента по клику

У меня есть страница со следующим кодом:

<a id="test" href="someurl" onclick="somefunction">link</a>

Мне нужно на самом деле прочитать данные onclick. Таким образом, я хотел бы что-то на эффект

alert(document.getElementById('test').onClick)

К сожалению, он возвращает undefined. Что мне нужно сделать, чтобы получить somefunction?


person Mala    schedule 15.07.2010    source источник


Ответы (3)


Предполагая, что тег сформирован правильно, атрибут тега можно получить с помощью Element.getAttribute.

document.getElementById('test').getAttribute('onclick')
// -> "somefunction"
person Faisal    schedule 15.07.2010

Вы можете использовать Javascript для тега привязки, например:

<script type="text/javascript">

  function testClick(id)
  {
     alert(id);
  }

</script>

<a href="#" id="test" onclick="testclick(this.id);">Click</a>
person ketan    schedule 16.02.2012
comment
на самом деле это не имеет никакого отношения к вопросу ... Я пытаюсь получить доступ к тому, что уже находится в теге привязки, то есть в вашем примере, что я мог написать, чтобы вернуть testclick (this.id) - person Mala; 17.02.2012
comment
Пожалуйста, рассмотрите возможность удаления этого ответа, поскольку он не имеет ничего общего с заданным вопросом. - person royhowie; 30.11.2016

Тебе стоит попробовать:

document.getElementById('test').onclick.toString()
person Josiah    schedule 15.07.2010
comment
Это не отвечает на вопрос. Доступ к свойству onclick элемента просто вернет ссылку на функцию, прикрепленную к обработчику события клика, а не данные onclick, как запросил OP. Пожалуйста, рассмотрите возможность удаления, так как это совершенно неправильно. - person royhowie; 30.11.2016
comment
@royhowie На самом деле, royhowie, если подключена только одна функция, и вы конвертируете ее в строку, функциональный текст будет там. - person Goodbye StackExchange; 31.03.2021