2010-03-01 12 views
7

Bunlar, bir hücrenin boş olup olmadığını kontrol etmemi sağlayan bazı basit JS kodlarıdır.HTML tablo hücresinin boş olup olmadığını kontrol etmek için javascript kullanma?

"onmouseover = func()" kullanarak çağrılan bir işlevi kodlamaya çalışıyorum; JS kodunu doğru olarak göremiyorum. Herhangi bir fikir?

İdeal olarak çalışmayı denemek, bir hücrenin boş olup olmadığını belirleyebilen bir koddur ve eğer varsa, "Hücre Boşluğu" gibi basit bir değer yerleştirir.

Muhtemelen kulağa çok basit geldiğini biliyorum ama biraz yardım alabilirim. Herhangi bir fikir için teşekkürler.

cevap

2

jQuery kullanıyorsanız, öğe üzerinde html() yöntemini kullanın. Bu kod yapacak

<td id="my_cell"></td> 

: Orada başlangıçta ne olacağını biraz bağlıdır

if ($('#my_cell').html() == '') { 
    $('#my_cell').html('Cell Empty'); 
} 
+0

Bu soru bu nedenle bu soruya cevap vermez jQuery şey bahseder. – cletus

+1

jQuery kullanıyorsanız, '.innerHTML' yerine' .html() 'yi kullanmanız gerekir. – Aistina

+0

Hata! Html() olarak düzenlenmiştir. –

3

Bu işaretlemeyi Verilen. Benim deneyimimde, bir hücre sadece beyaz boşluk içeriyorsa tablolar garip davranır ve bu yüzden ortak bir çözüm, çökmesini durdurmak için &nbsp;'u koymaktır. Neyse, burada kontrol ederdim edebilirsiniz:

function elementIsEmpty(el) { 
    return (/^(\s|&nbsp;)*$/.test(el.innerHTML); 
} 

function replaceCell(td) { 
    if (elementIsEmpty(td)) { 
     td.innerHTML = 'Cell Empty'; 
    } 
} 


<td onmouseover="replaceCell(this)"></td> 

... daha iyi bir yolu JavaScript olay işleyicileri yoluyla davranışları uygulamak olacaktır ama.

jQuery withouth (eski iyi günlerdeki gibi)
+0

Bu arada garip davranış sadece IE6/7'de geçerlidir. İşaretleme dahil tüm hücreyi işlemez. Genellikle sınır veya arka plan renginin olmaması ilk fark edilir. – BalusC

1

:

function func(e){ 
    var target = window.event ? window.event.srcElement : e ? e.target : null; 
    if (target.innerHTML === ''){ 
     target.innerHTML = 'Cell Empty!'; 
    } 
} 
+1

, efendim, garip bir "iyi" tanımı var. – nickf

+1

efendim, ironik yorumları anlayamıyorsunuz. – Matias

İlgili konular