如何在多个(简单)函数中使用jQuery动态创建的div

史考特

我有一个通过jQuery创建的简单div。

var split = document.createElement('div');
    split.className ="item split";
    $(split).html('<strong>SPLITTER</strong>');

我想在几个简单的函数中使用相同的变量。但是,似乎每当我将变量从函数中移出时,我只能创建一次div。然后,所有其他实例均无法插入div。

测试代码段,可能会有助于更好地解释。

// Variable is created WITHIN the click function
$('#divide_btn').on('click', function() {
  var split = document.createElement('div');
  split.className = "item split";
  $(split).html('<strong>SPLITTER</strong>');

  $(split).hide(function() {
    //stuff
  }).insertAfter('.moved:last').slideDown(300);
});


// Variable is created OUTSIDE the click function.
var split2 = document.createElement('div');
split2.className = "item split";
$(split2).html('<strong>SPLITTER 2</strong>');


$('#divide_btn2').on('click', function() {
  $(split2).hide(function() {
    //stuff
  }).insertAfter('.moved:last').slideDown(300);
});
body {
  padding: 0 20px;
  margin: 0;
}
span {
  display: inline-block;
  margin: 5px;
  background: #aaa;
  color: #eee;
  padding: 5px 10px;
}
.item,
.moved,
.split {
  padding: 5px 10px;
  margin: 3px;
  background: #eee;
}
.moved {
  background: #fee;
}
.split {
  background: #aaa;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p><span id="divide_btn">click for internal variable</span><span id="divide_btn2">click for external variable</span>
</p>
<div class="main">
  <div class="item">item</div>
  <div class="item moved">item</div>
  <div class="item">item</div>
  <div class="item">item</div>
</div>

请注意区别,对于“内部”按钮,click函数中创建了div,并且每次单击时都会创建一个新的div(如预期的那样)。

对于“外部”按钮,变量是在click函数外部创建的,并且只能创建一个div。

有没有一种方法可以将外部变量用于动态div,并能够像在内部变量一样使用函数的方式在函数中利用该变量?

我正在寻找“内部”按钮的功能..但我想所有函数中使用相同的变量并避免在需要的每个函数中复制div创建的需要。

(请注意,动态div永远不会更改...因此,设置完变量后就无需对其进行编辑。)

微创

更新

jsFiddle

// Variable is created WITHIN the click function
$('#divide_btn').on('click', function() {
  var split = document.createElement('div');
  split.className = "item split";
  $(split).html('<strong>SPLITTER</strong>');

  $(split).hide(function() {
    //stuff
  }).insertAfter('.moved:last').slideDown(300);
});


// Variable is created OUTSIDE the click function.
function createSplit2() {
  var split2 = document.createElement('div');
  split2.className = "item split";
  $(split2).html('<strong>SPLITTER 2</strong>').hide();
  return $(split2);
}

$('#divide_btn2').on('click', function() {
  createSplit2().insertAfter('.moved:last').slideDown(300);
});
body { padding: 20px; }
span { display: inline-block; margin: 5px; background: #aaa; color: #eee; padding: 5px 10px;}
.item, .moved, .split { padding: 5px 10px; margin: 3px; background: #eee; }
.moved { background: #fee; }
.split { background: #aaa; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p><span id="divide_btn">click for internal variable</span><span id="divide_btn2">click for external variable</span>
</p>
<div class="main">
  <div class="item">item</div>
  <div class="item moved">item</div>
  <div class="item">item</div>
  <div class="item">item</div>
</div>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Java中使用动态数据创建多个arraylist

来自分类Dev

如何在div中使用动态列创建HTML表

来自分类Dev

如何在angularjs中使用ui-grid为多个表动态创建网格选项

来自分类Dev

如何在动态添加的包装div中使用jquery添加图像和div?

来自分类Dev

如何在 google-apps-script 中使用动态变量创建 QUERY 函数

来自分类Dev

如何在动态 php 文件中使用 toggle() 函数切换每个 div

来自分类Dev

如何在多个类中使用'this' jquery

来自分类Dev

如何在动态创建的jQuery UI对话框中使用datepicker?

来自分类Dev

如何在jQuery中使用substr()函数?

来自分类Dev

如何在jquery函数中使用$(this)?

来自分类Dev

如何在jquery函数中使用php?

来自分类Dev

如何在jQuery中使用.click函数

来自分类Dev

如何在getStaticPaths中使用多个嵌套动态路由?

来自分类Dev

如何在 PHP 中使用 while/fetch 创建的 div 上使用 jQuery .remove()?

来自分类Dev

如何在jquery中使用简单的字符串变量?

来自分类Dev

如何在iOS中使用动态值创建UIButtons网格?

来自分类Dev

如何在React中使用Formik创建动态下拉列表?

来自分类Dev

如何在JSX中使用循环创建动态行?

来自分类Dev

如何在iOS中使用动态值创建UIButtons网格?

来自分类Dev

如何在Scala中使用动态[递增]名称创建变量

来自分类Dev

如何在Angular JS中使用标题创建动态表

来自分类Dev

如何在jQuery中使用getJSON()函数创建的html表之前添加表头

来自分类Dev

如何在React函数中使用动态变量

来自分类Dev

如何在smarty模板函数中使用动态变量

来自分类Dev

如何在C#中使用动态参数声明函数

来自分类Dev

如何在JS中使用动态名称调用函数

来自分类Dev

如何在 Firebase 云函数中使用动态引用?

来自分类Dev

如何在MATLAB中使用动态函数名称?

来自分类Dev

如何从多个具有相同名称的输入中获取值,其中使用jQuery动态创建输入字段?

Related 相关文章

  1. 1

    如何在Java中使用动态数据创建多个arraylist

  2. 2

    如何在div中使用动态列创建HTML表

  3. 3

    如何在angularjs中使用ui-grid为多个表动态创建网格选项

  4. 4

    如何在动态添加的包装div中使用jquery添加图像和div?

  5. 5

    如何在 google-apps-script 中使用动态变量创建 QUERY 函数

  6. 6

    如何在动态 php 文件中使用 toggle() 函数切换每个 div

  7. 7

    如何在多个类中使用'this' jquery

  8. 8

    如何在动态创建的jQuery UI对话框中使用datepicker?

  9. 9

    如何在jQuery中使用substr()函数?

  10. 10

    如何在jquery函数中使用$(this)?

  11. 11

    如何在jquery函数中使用php?

  12. 12

    如何在jQuery中使用.click函数

  13. 13

    如何在getStaticPaths中使用多个嵌套动态路由?

  14. 14

    如何在 PHP 中使用 while/fetch 创建的 div 上使用 jQuery .remove()?

  15. 15

    如何在jquery中使用简单的字符串变量?

  16. 16

    如何在iOS中使用动态值创建UIButtons网格?

  17. 17

    如何在React中使用Formik创建动态下拉列表?

  18. 18

    如何在JSX中使用循环创建动态行?

  19. 19

    如何在iOS中使用动态值创建UIButtons网格?

  20. 20

    如何在Scala中使用动态[递增]名称创建变量

  21. 21

    如何在Angular JS中使用标题创建动态表

  22. 22

    如何在jQuery中使用getJSON()函数创建的html表之前添加表头

  23. 23

    如何在React函数中使用动态变量

  24. 24

    如何在smarty模板函数中使用动态变量

  25. 25

    如何在C#中使用动态参数声明函数

  26. 26

    如何在JS中使用动态名称调用函数

  27. 27

    如何在 Firebase 云函数中使用动态引用?

  28. 28

    如何在MATLAB中使用动态函数名称?

  29. 29

    如何从多个具有相同名称的输入中获取值,其中使用jQuery动态创建输入字段?

热门标签

归档