我有一个 Rails 部分可以呈现此 html:
<div class="content"></div>
<script>
// load the content here and get the adjacent div and populate it.
</script>
该部分模板由服务器嵌入到主文档中,并且还多次作为对 AJAX 请求的响应。因此该页面有该部分的多个实例。
每当我的脚本执行时,我只希望与脚本相邻的 div 受到影响。
所以我希望如果我能到达脚本,我就能到达div。我也使用 jQuery,并且还使用几个异步脚本(这阻止我使用最后执行的脚本)
我可以通过 document.currentScript
到达相邻的 div,问题是有些浏览器不支持它。
那么,唯一的方法是为 div 创建某种 UUID ID 并通过 DOM 中的 Id 访问它吗?
我真的希望 div 支持 onload,但遗憾的是没有。
最佳答案
您可以在<script>
之后立即创建元素( document.write
) 并找到 .content
相对于它。
(function(){
var id = 'id' + (new Date().getTime());
document.write('<div id="'+id+'"></div>');
var elem = document.getElementById(id);
var content = elem.previousElementSibling.previousElementSibling;
content.innerHTML = 'NEW CONTENT';
})();
关于javascript - Rails + JQuery : Getting to a sibling div from script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27166069/