Что "this" в JavaScript onclick?

<a onclick="javascript:func(this)" >here</a>

Что означает this в script?

Ответ 1

В случае, о котором вы спрашиваете, this представляет элемент HTML DOM.

Итак, это был бы элемент <a>, на который был нажат.

Ответ 2

Он ссылается на элемент в DOM, которому принадлежит атрибут onclick:

<script type="text/javascript"
        src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
</script>
<script type="text/javascript">
function func(e) {
  $(e).text('there');
}
</script>
<a onclick="func(this)">here</a>

(В этом примере используется jQuery.)

Ответ 3

Значение атрибутов обработчика события, например onclick, должно быть просто JavaScript, без префикса "javascript:". Javascript: псевдопротокол используется в URL-адресе, например:

<a href="javascript:func(this)">here</a>

Вы должны использовать форму onclick="func(this)", предпочитая это. Также обратите внимание, что в моем примере выше, используя javascript: псевдо-протокол "this" будет ссылаться на объект window, а не на элемент <a>.

Ответ 4

В JavaScript this относится к элементу, содержащему действие. Например, если у вас есть функция с именем hide():

function hide(element){
   element.style.display = 'none';
}

Вызов hide с помощью this скроет элемент. Он возвращает только щелчок элемента, даже если он похож на другие элементы в DOM.

Например, у вас может быть this щелчок по номеру в HTML ниже, только скроет нажатую кнопку маркера.

<ul>
  <li class="bullet" onclick="hide(this);">1</li>
  <li class="bullet" onclick="hide(this);">2</li>
  <li class="bullet" onclick="hide(this);">3</li>
  <li class="bullet" onclick="hide(this);">4</li>
</ul>

Ответ 5

this ссылается на объект, к которому принадлежит метод onclick. Таким образом, внутри func this будет DOM node элемента a, а this.innerText будет here.

Ответ 6

При вызове функции слово "this" является ссылкой на объект, который вызывает функцию.

В вашем примере это ссылка на элемент привязки. На другом конце вызов функции затем получает доступ к переменным-членам элемента через переданный параметр.

Ответ 7

Здесь (это) - объект, который содержит все свойства/свойства элемента dom. вы можете увидеть

console.log(this);

Это отобразит все свойства атрибутов элемента dom с иерархией. Вы можете манипулировать элементом dom этим.

Также описывайте ссылку ниже: -

http://www.quirksmode.org/js/this.html

Ответ 8

ключевое слово this в событие AddEventListener

function getValue(o) {
  alert(o.innerHTML);
}

function hide(current) {
  current.setAttribute("style", "display: none");
}

var bullet = document.querySelectorAll(".bullet");

for (var x in bullet) { 
  bullet[x].onclick = function() {
    hide(this);
  };
};
 
/* Using dynamic DOM Event */
document.querySelector("#li").addEventListener("click", function() {
  getValue(this); /* this = document.querySelector("#li") Object */
});
li {
  cursor: pointer;
}
<ul>
  <li onclick="getValue(this);">A</li>
  <li id="li" >B</li>
  <hr />
  <li class="bullet" >1</li>
  <li class="bullet" >2</li>
  <li class="bullet" >3</li>
  <li class="bullet" >4</li>
</ul>