1

我有我的代码在这里。

// HTML Code
<div class="article"></div>

// jQuery
$('.article').append('<a href="" class="toggle">Toggle div</a>');

是否可以使用新创建的 href 链接并像这样切换 div:

// jQuery
$('.toggle').click(function() { 
   $('.article').toggle('slow');
});

我已经尝试了上述方法,但没有运气。我只是被重定向到索引页面。

4

1 回答 1

3

不要使用click(): 它已被弃用,即使不是这样也无法使用。使用on()

$('.toggle').on('click', function() { 
   $('.article').toggle('slow');
});

另外,将您的a标签更改为<a href="javascript:void(0)" class="toggle">Toggle div</a>.


至于为什么on()起作用和click()不起作用的原因,您需要阅读 jQuery 的文档。简而言之,点击事件已经绑定到页面上的某个元素;此范围不包括将来添加到 DOM 的元素。On()但是,是委托事件:

委托事件的优点是它们可以处理来自以后添加到文档的后代元素的事件。通过选择在附加委托事件处理程序时保证存在的元素,您可以使用委托事件来避免频繁附加和删除事件处理程序的需要。

于 2013-01-20T18:58:12.803 回答