任何方式采取前面的元素?

时间:2017-08-08 22:28:03

标签: javascript dom

<div id="TheDivIWantTheBelowScriptToAddress"></div>
<script>
    document.getPreviousDiv().innerHTML = "YADDA"
</script>

现在我知道在JS中我可以通过其ID document.getElementById("blah")轻松引用元素。

但是,当从模板生成页面时,有时可能会很难确保ID不会重复。如果我可以引用the first element of a given type (like div or canvas) that lies before the script tag in which this script is included,那将会更方便。

这可以以某种方式完成,还是我必须编写额外的逻辑以确保div的唯一性?

2 个答案:

答案 0 :(得分:2)

我应该用这个:

<div></div>
<script>
    document.currentScript.previousElementSibling.innerHTML = "blah";
</script>

currentScript获取当前的脚本元素。

previousElementSibling获取前一个元素。

答案 1 :(得分:1)

这看起来像.prev

的工作
$('selector').prev()

编辑:再次没有jquery:

var x = document.getElementById("item2").previousSibling.innerHTML;