Eşleşen sınıflara sahip bir bağlantı ve bir tablo satırım var. Bağlantı tıklandığında, satırın arka plan rengini aynı sınıfla değiştirmek isterim. Her durumda, aynı sınıfa sahip sadece bir satır olacaktır.Tüm sınıfların arka plan rengini aynı sınıfla değiştirme
İşte şu anki işlevim. İşte
<script type="text/javascript">
function check(x) {
elements = document.getElementsByClassName(x);
for (var i = 0; i < elements.length; i++) {
elements[i].bgColor="blue";
}
}
</script>
tablo satırı senaryonun bir parçasıdır:
<tr class="alt1 12">
<td width="50" height="55">
<img src="iPhone/statusicon/12.png" alt="" id="forum_statusicon_12" border="0"></td>
<td>
<div class="forumtitle">
<a class="forumtitle 12" href="forumdisplay.php?f=12" action="async" onclick="check(this.className.split(' ')[1])">News and Current Events</a></div>
</td>
<td width="25">
<div class="forumarrow"><img src="iPhone/chevron.png" alt="" border="0"></div>
</td>
</tr>
tablo satırı iki sınıf vardır ve ben ele ne olması ikincisini (sayı) gerekir.
$(".button").click(function(){
var class = $(this).attr("data-class");
var color = $(this).attr("data-color");
$("."+class).css("background-color",color);
});
.button
, düğme için geçerli değiştirmek istiyoruz sınıf için data-class
eklemek için sınıftır: geçerli kod
Bu bana göre en iyi görünüyor, garip id/sınıf karışımı korumak için hiçbir neden yoktur ve jQuery çok basit bir işlem için overkill. – Bubbles
Bu konuda üzgünüm, yanlışlıkla yanlış kod gönderdi. sadece bir son soru ... her satır için atanan iki sınıfa sahip olduğumu fark ettim ... script otomatik olarak ilkini atar ve bu reklamlar bir boşlukla sınırlanır. Bu durumu nasıl halledebilirim? Her zaman ikinci sınıfı bu işleve göndermek istiyorum. –
sadece '' this.className''' yerine '' 'this.className.split ('') [1]' '' – drinchev