Что такое текущий элемент в Javascript? [дубликат]

этот вопрос уже есть ответ здесь:

как я могу узнать, что такое элемент, что <script> сидит?
В качестве примера возьмем вот это

<div>
 <script type="text/javascript">
  var time = new Date(), hrs = time.getHours(), min = time.getMinutes();
  document.write('It is '+hrs+":"+(min<10?'0':'')+min);
 </script>
</div>

тогда, если я хочу изменить это что-то более современное, как я могу узнать, какой элемент мы?
Поэтому я хочу написать, например, в jQuery

$(thisdiv).html('It is '+hrs+":"+(min<10?'0':'')+min);

но как мне сделать thisdiv?
Да, я знаю, я могу опознать его, но у меня такое чувство, что в этом нет необходимости. Браузер знает, где мы находимся, иначе он даже не смог бы сделать документ.пиши!

Итак, предложения? Я поискал, но не нашел. Неужели все так просто, что я упускаю из виду очевидное?

4 ответов


скрипты выполняются в порядке появления в документе. Содержимое тега скрипта оценивается на encounter, поэтому последнее <script> элемент всегда является текущей.

код:

<div>
  <script>
    var scriptTag = document.getElementsByTagName('script');
    scriptTag = scriptTag[scriptTag.length - 1];

    var parent = scriptTag.parentNode;
  </script>
</div>

Firefox:

document.currentScript.parentElement

Chrome:

document.scripts.length

$('script#some_id').parent().html('blah blah');

попробуй такое

<div id="mydiv">
 <script type="text/javascript">
  var time = new Date(), hrs = time.getHours(), min = time.getMinutes();
  document.getElementById('mydiv').innerHTML = 'It is '+hrs+":"+(min<10?'0':'')+min;
 </script>
</div>