动态Div元素与隐藏

时间:2017-02-03 14:44:26

标签: jquery

我有几个相关的问题。我的任务是开发一个页面来生成民意调查问题。在创建民意调查时,我需要一次添加一个新答案(而不是拥有,让我们说10个选项,而民意调查创建者只有两个选择)。每个答案都是一个包含多个元素的div(例如文本,图像)。当输入一个问题的答案时,下一个div将显示(因此不需要一个说“添加问题”的按钮所以,似乎有三种方法可以去。

  1. 加载可能选择的最大数量并将它们全部隐藏(但第一个)并根据需要取消隐藏。)我想这是加载可能不会使用的东西 - 但这真的很重要吗?
  2. JQuery并动态创建字段。我认为效率更高,但是如果浏览器退回但是被使用了,那么当它们回到页面时它们就会消失 - 可能是罕见的。
  3. 使用AJAX加载每个新问题。如果由于数据库调用而导致新问题加载缓慢,则看起来像是具有响应性的危险。
  4. 除了针对这种情况的上述“最佳做法”之外,我还有另一个问题,假设我选择#2。

    我创建了jsfiddle,我将如何做到这一点 https://jsfiddle.net/msith718/uf9qfm53/21/

    imageg = new Image("file:photo.jpg", 130, 140, true, true);
    

    我知道我可以使用克隆,但除了添加/删除问题之外,我还需要将它们向下移动,我疯狂地试图让它工作。使用list.append非常简单。由于每个div包含的问题都是相同的,我很好地写出整个div的代码并附加。事实上,我有点喜欢它的可读性。

    但是,在创建新列表项时,向上/向下按钮不起作用。我认为这是因为引号没有正确加载“up”类。我试图逃避报价,但似乎无法使其发挥作用。

    那么,任何人都可以帮助我理解添加新问题的最佳方式,如果它是JQuery样式,我怎样才能让生成的按钮工作? 谢谢!

1 个答案:

答案 0 :(得分:0)

你必须使用.on方法。 它将事件绑定到所有项目(甚至是稍后创建的项目 - 它会监听它们)。

所以而不是

$('.someClass').click(function(){});

使用

$(document).on('click', '.someClass', function(){});

这是一个小提琴:https://jsfiddle.net/7ukys71m/