这是一篇AJAX文章。有一组按钮,我在每个按钮后面添加一个div#message。
我希望当用户单击每个按钮时,单词hello将显示在每个div#message中。如何在div#message‘前添加$(this)?
JS:
success: function(){
$('#message').fadeIn(1000, function() {
$('#message').html("hello");
})
$('#message').fadeOut(1000, function() {
$('#message').html('');
})CSS:
#message{display:none;float:right}HTML:
<div class='post'><a href="" class="ajaxpost" id="'.row['id'].'" name="ajaxpost">'.row['title'].'</a><div id="message"></div></div>发布于 2011-01-27 21:25:07
你可以写
$(this).children('div#message')如果您还想搜索子对象,请调用find而不是children。
然而,它实际上不会起作用。
在success回调中,this不会引用您的元素。
您可以通过在AJAX参数中传递context: this,或者将外部函数中的一个变量设置为this并使用该变量来更改它。
但是,您一开始就不应该这样做。
ID应该是唯一的。
如果在不同的块中有多个div#message,则应该使用class而不是id。
发布于 2011-01-27 21:25:52
添加具有相同ID的多个div不是一个好主意。请改用类。
您可以执行以下查询:
$('.message',this).fadeIn(...
发布于 2012-12-06 01:59:22
在我的例子中,children(...)不能正常工作。
如果您还想搜索子对象,请调用
而不是子对象。
因此,在我的例子中,只有find(.class_name)可以正常工作
https://stackoverflow.com/questions/4816843
复制相似问题