【问题标题】:Add id to dynamically created DIV将 id 添加到动态创建的 DIV
【发布时间】:2015-06-15 16:26:00
【问题描述】:

我想为类名="leaflet-control-layers-base" 的 div 添加一个 ID。因为这个 HTML 脚本是在页面加载时通过 API(Leaflet)自动生成的,所以我无法在脚本中添加 id。

我问的原因是因为我的页面中有两个这样的脚本,如下所示。我想将它们彼此区分开来,以便我可以单独引用它们。唯一的区别是其他脚本不在“TOCContent”div中。

任何想法如何使用 JavaScript 或 jQuery 将 id 添加到“leaflet-control-layers-base”类?

这是我的脚本:

<div id="TOCContent">
    <div class="leaflet-control-layers leaflet-control-layers-expanded" aria-haspopup="true">
        <form class="leaflet-control-layers-list">
            <div class="leaflet-control-layers-base">
        </form>
</div>

【问题讨论】:

    标签: javascript jquery html dynamic-html


    【解决方案1】:

    试试这个:

    $(".leaflet-control-layers-base").attr("id","your id will go here");
    

    【讨论】:

      【解决方案2】:

      使用组合选择器选择元素,确保它选择#TOCContent 的后代,然后设置id 属性。

      $('#TOCContent .leaflet-control-layers-base').prop('id', 'someid');
      

      请记住在您的 API 代码呈现页面上的元素之后运行此程序,而不是之前。您可能需要在 API 上连接某种完成事件,因为基本的 DOM Ready 事件可能会在 API 呈现元素之前触发。


      附注:可能没有必要给元素一个 ID,因为这样做你需要获得对元素的引用,你可以将它存储在一个变量中。

      var base = $('#TOCContent .leaflet-control-layers-base');
      

      【讨论】:

      • 感谢您的回答。如前所述,我有两个相同的脚本。因此,我想将此方法应用于两个脚本。有趣的是,这个 sn-p 适用于一个,但不适用于另一个。我已经在整个脚本的末尾添加了这两个语句,但这并不能解决它不起作用的问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-27
      • 2017-10-23
      相关资源
      最近更新 更多