我正在通过ajax加载许多嵌套的div,并且需要通过data属性选择特定的元素。更改div的背景时,下面的代码可以正常工作。
$.ajax({
type: "POST",
url: "scripts/get_transcription.php",
data: {
gene: 1,
},
success: function(data) {
$('#transcription').html(data);
$('*[data-type="P"]').css('background', 'red');
}
});
但是,如果我不想改变背景,而是要设置该特定div的不透明度,则为所有div分配不透明度:
$('*[data-type="P"]').css({opacity, 0.5});
如果我fadeOut()
在div上使用同样...所有div都消失了。为什么CSS背景对特定的div起作用,而不对不透明度或fadeOut(适用于所有div)起作用?
编辑
看起来ol'div未关闭catcha。每个transcription_segment的结束div在while循环之外,如下所示:
echo "<div id='transcription_segments' style='width:2000px;;white-space:nowrap;float:left;'>";
while($row = mysql_fetch_assoc($result)) {
echo "
<div id='transcription_segment_" . $row['gene_dna_segments_pk'] . "' data-transcription-segment='" . $row['gene_dna_segments_pk'] . "' data-type='" . substr($row['dna_segment_type'], 0, 1) . "' style='width:" . $row['dna_segment_length'] . "px;display:inline-block;'>
<div style='width:" . $row['dna_segment_length'] . "px; height:auto;font-family: Delicious, sans-serif;font-size:16px;color:" . $row['colour'] . ";text-align:center;font-weight:bold;line-height:1.4;float:left;'>" . $row['dna_segment_type'] . "</div>
<div style='width:" . $row['dna_segment_length'] . "px;height:12px;background:" . $row['colour'] . "; float:left'></div>";
}
echo "</div></div>";
?>
缺少关闭div导致将问题引入js元素选择器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句