下面是该方案...我有每个字段旁边一个复选框,我与“删除”的文字,让我通过jQuery,这是工作的罚款删除字段的jQuery更换页面加载。像这样...

$(".profile-status-box").each(function(){ $(this).replaceWith('<span class="delete">' + 'Delete' + '</span>') });

这个问题来的却是,页面加载后,我也给用户的选择动态地添加新的领域。新增加的领域,虽然有复选框,而不是删除链接,因为它们没有被替换的jQuery,因为他们正在初始页面加载后添加。

岂不等于可能取代添加到页面而不做刷新页面新元素的内容?如果没有,我总是可以有不同的标记取决于一个js和一个非JS两个模板,但我想avoind taht。

预先感谢。

有帮助吗?

解决方案

可以使用 .livequery()插件时,是这样的:

$(".profile-status-box").livequery(function(){ 
  $(this).replaceWith('<span class="delete">Delete</span>') 
});

在匿名功能运行针对每个元素找到,并且每个元件,因为它们可以增加选择器匹配。

其他提示

看一看这个库尔演示。它删除,并增加了像一个魅力的元素。

http://www.dustindiaz.com/basement/addRemoveChild.html

下面是如何:

首先,在(X)HTML是真正简单。 的的xHTML片段

<input type="hidden" value="0" id="theValue" />
<p><a href="javascript:;" onclick="addElement();">Add Some Elements</a></p>
<div id="myDiv"> </div>

隐藏输入元素只是给你一个机会,以动态地拨打电话,你可以下手。这一点,例如可以用PHP或ASP来设置。 onclick事件处理程序用于调用该函数。最后,div元素被设置并准备好接收附加的对自身(即天哪声音奇怪)一些的儿童。

Mkay,到目前为止那么容易。现在JS功能。

<强>的addElement Javascript函数

function addElement() {
  var ni = document.getElementById('myDiv');
  var numi = document.getElementById('theValue');
  var num = (document.getElementById('theValue').value -1)+ 2;
  numi.value = num;
  var newdiv = document.createElement('div');
  var divIdName = 'my'+num+'Div';
  newdiv.setAttribute('id',divIdName);
  newdiv.innerHTML = 'Element Number '+num+' has been added! <a href=\'#\' onclick=\'removeElement('+divIdName+')\'>Remove the div "'+divIdName+'"</a>';
  ni.appendChild(newdiv);
}

如果你想,

<强> removeElement Javascript函数

功能removeElement(divNum){   变种d =的document.getElementById( 'myDiv');   VAR olddiv =的document.getElementById(divNum);   d.removeChild(olddiv); }

和这就是这一点。鲍勃你叔叔。

这是从本文/教程采取: http://www.dustindiaz.com/add-and-remove-html-elements-dynamically-with-javascript/

我刚刚得知这个自己。谢谢你的问题。

希望有所帮助。

<强> PK

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top