javascript - Rails + JQuery : Getting to a sibling div from script

标签 javascript jquery ruby-on-rails html

我有一个 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';
})();

Example jsbin

关于javascript - Rails + JQuery : Getting to a sibling div from script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27166069/

相关文章:

javascript - Sinon stub 传递参数

jquery - 右键单击触摸屏设备

ruby-on-rails - Rails 5.1 中的未知参数强参数问题

Javascript/Coffeescript 鼠标悬停函数 RoR

javascript - jQuery 绑定(bind)/取消绑定(bind)不起作用

ruby-on-rails - Stripe retrieve_or_create 卡

javascript - 旋转数组并返回最大数,不适用于非常大的数

javascript - 无法解决的 CORS 问题!如何在MacOS上禁用Chrome的同源策略?

javascript - 使用 Rails/jQuery 的可点击表格行 - 无法正常工作的行内链接

jquery - 如何找出脚本已添加到wordpress后端?