好的,这是我在这里的一些疯狂的jquery代码.它做什么是去一个php文件来获得某种结果,然后滑下结果,但如果结果已经在那里只是滑下来
$('#compatibility h2').click(function(){
var clicked = $(this);
if($(this).hasClass('collapsed'))
{
$(clicked).removeClass('collapsed');
if($($(this)[0].nextSibling).is('ul'))
{
$(this).next().slideToggle();
}
else
{
$.get("getproducts.php", {cid: $(this).attr('id'), did: $("#deviceId").val()},
function(data)
{
$(clicked).after(data).next().slideToggle(); //adds a <ul> <li> </li> </ul>
});
}
}
else
{
$(this).addClass('collapsed');
$(this).next().slideToggle();
}
//$(this).css('margin','4px 0 7px');
});
Run Code Online (Sandbox Code Playgroud)
现在我的问题有点模糊,但我想知道为什么当我替换点击关键字时this,代码不会在点击的h2之后插入数据.另外,我想知道我是否以jquery的最佳方式进行此操作.
你为什么做这个?var clicked = '#'+$(this).attr('id');?
这应该工作:
var clicked = $(this);
Run Code Online (Sandbox Code Playgroud)