动态命名div局部使用,以便以后使用?

我有一个包含div的局部视图,然后该div id当前是静态的。如果我多次使用此局部视图,那么我的Javascript类只会加载第一个div。为这些div赋予唯一ID的MVC约定是什么,这样就不再发生了?生成随机数会起作用吗?

样例代码:

<div id="test"></div>

<script type="text/javascript">
  var loader = new Class('test');
</script>

理想情况下,我希望这样,因此每次渲染局部视图时,都会在后面附加一个递增的数字id="test

达里利文

似乎有很多方法可以解决此问题。看起来很重要的一点是,在加载JS类之后,能够引用该元素。我想到了几种方法。

1)通过JS动态添加div(我在这里使用jquery来简化任务):

添加到您的类定义中:

<script type='text/javascript' >
  /* you need to add a static method to your class to create
     a unique id.

     Note that this should not be part of your partial view - it
     is only defined once - wherever you have defined your class.
   */
  Class.idNum = 0;
  Class.uniqueId = function() { return 'MyDiv_' + idNum++; };

</script>

部分变为:

<script type='text/javascript' >

  // you need to have a 
  var newId = Class.uniqueId();
  var newDiv = jQuery('<div id="' + newId + '" />' );

  // figure out where you need to append it, e.g. to the html body:
  jQuery('body').append( newDiv );

  var loader = new Class( newId );

</script>

2)但是,一种更简单的方法可能是完全避免使用id,根据我的经验,这在这种动态代码中更为常见。在此解决方案中,您通过分部添加所有div,将它们标识为具有唯一类名称的组,然后引用该类名称以将所有这些div作为组抓取并遍历它们以创建您的类。当然,您将不得不重写您的类以通过其DOM元素而不是ID属性来引用这些div。

部分变成:

<div class='MyDescriptiveClassName' ></div>

然后,在添加完所有部分之后,您将获得类似以下javascript的内容:

<script type='text/javascript' >

  jQuery('.MyDescriptiveClassName').each( function( index, elem ) {
    // pass in the DOM element for accessing this div.
    var loader = new Class( elem );
  });

</script>

希望能有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在foreach中设置var以便以后使用

来自分类Dev

在foreach中设置var以便以后使用

来自分类Dev

单击按钮时使用局部视图更新DIV(动态)

来自分类Dev

从表中检索ID值,以便以后使用

来自分类Dev

在动态命名的类中使用 Selenium 从 div 获取文本

来自分类Dev

使用Matplotlib savefig动态命名

来自分类Dev

如何为某个值命名,以便以后参考?

来自分类Dev

如何在局部变量中保存地理位置详细信息以供以后使用

来自分类Dev

python PIL图像如何将图像保存到缓冲区,以便以后使用?

来自分类Dev

Logstash:如何从较早的日志中保存条目,以便以后在日志中的多行中使用?

来自分类Dev

Windows命令:如何使用chdir推送当前目录以便以后弹出?

来自分类Dev

如何从环境中获取数据帧列表,以便以后使用lapply()魔术?

来自分类Dev

立即构建工具,以便以后可以在同一CMake运行中使用

来自分类Dev

如何在列表中附加项目以便以后在If语句中使用

来自分类Dev

如何在Bevy查询上进行迭代并保留对迭代值的引用,以便以后使用?

来自分类Dev

如何在“ if”语句中存储值以便以后在Excel中使用?

来自分类Dev

如何使用我的GPG私钥加密文件,以便以后再解密

来自分类Dev

将cookie保存在数组中,以便以后在php中重复使用

来自分类Dev

如何使用javascript保存类列表,以便以后与其他类进行比较?

来自分类Dev

如何使用Javascript创建对象,以便以后可以访问它们的属性?

来自分类Dev

如何从 componentDidUpdate() 中获取值并保存它,以便我以后可以使用它进行显示

来自分类Dev

尝试在 React 中使用状态存储数据以便以后可以访问时遇到问题

来自分类Dev

使用Ember App Kit时如何命名/组织局部文件?

来自分类Dev

动态命名会话isset如何使用?

来自分类Dev

如何使用约定注册但动态命名的组件?

来自分类Dev

使用vba动态命名Excel范围

来自分类Dev

将terraform对象定义为局部对象,以便可以继续使用

来自分类Dev

将myPHP数据库中的所有变量查询到数组中,以便以后在HTML中使用

来自分类Dev

将JavaScript中的React.js元素数组存储到某个文件或任何存储中,以便以后使用

Related 相关文章

  1. 1

    在foreach中设置var以便以后使用

  2. 2

    在foreach中设置var以便以后使用

  3. 3

    单击按钮时使用局部视图更新DIV(动态)

  4. 4

    从表中检索ID值,以便以后使用

  5. 5

    在动态命名的类中使用 Selenium 从 div 获取文本

  6. 6

    使用Matplotlib savefig动态命名

  7. 7

    如何为某个值命名,以便以后参考?

  8. 8

    如何在局部变量中保存地理位置详细信息以供以后使用

  9. 9

    python PIL图像如何将图像保存到缓冲区,以便以后使用?

  10. 10

    Logstash:如何从较早的日志中保存条目,以便以后在日志中的多行中使用?

  11. 11

    Windows命令:如何使用chdir推送当前目录以便以后弹出?

  12. 12

    如何从环境中获取数据帧列表,以便以后使用lapply()魔术?

  13. 13

    立即构建工具,以便以后可以在同一CMake运行中使用

  14. 14

    如何在列表中附加项目以便以后在If语句中使用

  15. 15

    如何在Bevy查询上进行迭代并保留对迭代值的引用,以便以后使用?

  16. 16

    如何在“ if”语句中存储值以便以后在Excel中使用?

  17. 17

    如何使用我的GPG私钥加密文件,以便以后再解密

  18. 18

    将cookie保存在数组中,以便以后在php中重复使用

  19. 19

    如何使用javascript保存类列表,以便以后与其他类进行比较?

  20. 20

    如何使用Javascript创建对象,以便以后可以访问它们的属性?

  21. 21

    如何从 componentDidUpdate() 中获取值并保存它,以便我以后可以使用它进行显示

  22. 22

    尝试在 React 中使用状态存储数据以便以后可以访问时遇到问题

  23. 23

    使用Ember App Kit时如何命名/组织局部文件?

  24. 24

    动态命名会话isset如何使用?

  25. 25

    如何使用约定注册但动态命名的组件?

  26. 26

    使用vba动态命名Excel范围

  27. 27

    将terraform对象定义为局部对象,以便可以继续使用

  28. 28

    将myPHP数据库中的所有变量查询到数组中,以便以后在HTML中使用

  29. 29

    将JavaScript中的React.js元素数组存储到某个文件或任何存储中,以便以后使用

热门标签

归档