最佳,
有人可以帮助我找出,一个添加了类的元素如何像一个从头开始的类的元素一样运行? - > ($(document).ready(...))。我认为该类没有添加到click事件中,但不知道如何解决...
<script type="text/javascript">
$(document).ready(function() {
...
$('span.del').click(function() {
var id = $(this).parent().attr('id')
$("#"+id).remove()
var input_values = new Array();
input_values [0]= id;
load_page("change","taskMenu2.php",input_values,'del')
})
...
})
</script>
-
<ul>
<li id="1" ><span class="del"></span> old </li>
<li id="2" ><span class="del"></span> old </li>
<li id="3" ><span class="del"></span> old </li>
<li id="4" > NEED A DEL SPAN </li>
</ul>
现在: 我想将带有“del”类的范围添加到ID 4 的 li 。 当我点击它(跨度)时,它应该执行上面的功能,就像其他功能一样。
<script type="text/javascript">
...
$("#4").prepend('<span class="del"></span>');
...
</script>
(使用jquery 2.1.0分钟)
希望找到解决方案
亲切的问候
答案 0 :(得分:2)
您可以在容器元素上尝试.on()
函数。
例如,在这种情况下,类似这样的事情:
$("ul").on("click", ".del", function() { // Your code });
答案 1 :(得分:2)
您需要在此使用event delegation,因为您的span
已动态创建:
$(document).ready(function() {
$('#4').on('click', 'span.del', function() {
var id = $(this).parent().attr('id')
$("#"+id).remove()
var input_values = new Array();
input_values [0]= id;
load_page("change","taskMenu2.php",input_values,'del')
});
})
另外,这里列出了id
列表项的旁注。来自HTML 4 specification:
ID和NAME令牌必须以字母([A-Za-z])开头,可能是 后跟任意数量的字母,数字([0-9]),连字符(“ - ”), 下划线(“_”),冒号(“:”)和句点(“。”)。
HTML 5 specification更宽容,只说:
该值必须在元素主页中的所有ID中唯一 子树,必须包含至少一个字符。价值不能 包含任何空格字符。
因此,对于有效的HTML标记,您可以将<li id="1" >
,<li id="2" >
....更改为其他内容,例如<li id="li1" >
,<li id="li2" >...
答案 2 :(得分:1)