$ containerの '.box'クラスにアクセスしようとすると、ajax呼び出しの中で(this)を使用しても機能しません。Ajax(this)not working
$container.on(
"click",
".box",
function(event){
var description;
if($(this)[0].style.width == '70%'){
$(this).find(".resultData").fadeOut('slow');
$(this).css('width', '18%');
}else{
$.ajax({
url:'scripts/php/fetchResultsData.php',
data: {action:value},
type: 'post',
dataType: 'json',
success: function(data){
description = data[0];
$(this).css('width', '70%');
$(this).append("\
<div class='resultData'>\
<div class='resultName'>" + $(this).find("p").html() + "</div>\
<div class='resultDesc'>" + description +"</div>\
</div>");
/*alert($(this).find("p").html());*/
}
})
}
$container.masonry('reload');
}
);
私が何をしようとしているかわからない場合は、動的要素のCSSを変更しようとしています。しかし、例えば、
$(this).css('width','70%');
は、すべてのCSSを調整されていません。私がAJAX、成功セクションの外に移動すると、それは動作しますが、私は '記述'を得ることができません。
、$(this)を使用しないようにしよう、あるいは少なくとも、一度それを使用します。しかし、複数回必要な場合は、var $ container = $(this)のように格納し、$ containerを使用します。これは少しの効率を追加しますが、はるかに明確です。ただ、これを使ってはいけません。それは、私をその場所のいたるところに置いて、目的を破ります。 – Azder