Почему дочерний объект, возвращаемый событием onmouseenter (this), становится нулевым при использовании определенными способами?

#javascript

#javascript

Вопрос:

Я полностью сбит с толку. В первом примере JavaScript, например,firsElementChild всегда имеет значение null. Однако во втором примере JavaScript e.firstElementChild всегда возвращает текст. Более того, если я затем беру переменную «text» и присваиваю ее значение e.innerText, как показано в примере 3 JavaScript, то e.firstElementChild снова становится нулевым.

HTML:

 <span onmouseenter='onMouseEnter(this)'>
        <span>Child</span>
</span>
  

пример javascript 1:

 function onMouseEnter(e){
     e.innerText = e.firstElementChild.innerText;
}
  

пример javascript 2:

 function onMouseEnter(e){
    var text = e.firstElementChild.innerText;
    console.log(text);
}
  

пример javascript 3:

 function onMouseEnter(e){
    var text = e.firstElementChild.innerText;
    e.innerText = text;
}
  

Комментарии:

1. Потому что параметр e.innerText заменяет <span> текст, да. Когда вы устанавливаете e.innerText , он исчезает, а когда вы его не устанавливаете, он остается. Это шаблон.

2. Ох. как глупо с моей стороны. Спасибо -Ry-. Это объясняет. Если вы представите свой ответ как answer, я выберу его как правильный.

3. Вы можете опубликовать ответ, если хотите! 🙂 Поскольку вы также можете включить решение.