2010-03-01 4 views
7

क्या यह कुछ सरल जेएस कोड है जो मुझे यह जांचने की अनुमति देता है कि कोई सेल खाली है या नहीं।यह देखने के लिए जावास्क्रिप्ट का उपयोग करना कि कोई HTML तालिका कक्ष खाली है या नहीं?

मैं "onmouseover = func()" का उपयोग करके बुलाए जाने वाले फ़ंक्शन को कोड करने का प्रयास कर रहा हूं; मैं बस जेएस कोड सही नहीं लग रहा है। कोई विचार?

आदर्श रूप से काम करने की कोशिश करने वाला मैं एक कोड है जो यह निर्धारित कर सकता है कि कोई सेल खाली है या नहीं, और यदि ऐसा है, तो "सेल खाली" जैसे एक साधारण मान रखें।

मुझे पता है कि यह शायद आसान लगता है लेकिन मैं थोड़ी मदद का उपयोग कर सकता हूं। किसी भी विचार के लिए धन्यवाद।

उत्तर

2

यदि आप jQuery का उपयोग कर रहे हैं, तो तत्व पर html() विधि का उपयोग करें।

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

इस कोड को यह करना होगा:

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

यह सवाल jQuery का कुछ भी नहीं का उल्लेख है तो इस सवाल का जवाब नहीं है। – cletus

+1

यदि आप jQuery का उपयोग कर रहे हैं, तो आपको '.innerHTML' के बजाय '.html()' का उपयोग करने की आवश्यकता है। – Aistina

+0

ओह, आप सही हैं। एचटीएमएल() के लिए संपादित किया गया। –

3

यह क्या वहाँ शुरू में में हो जाएगा पर एक छोटे से निर्भर करता है इस मार्कअप को देखते हुए। मेरे अनुभव में, सारणी अजीब तरीके से व्यवहार करती है यदि किसी कक्ष में केवल सफेद जगह होती है, और इसलिए एक सामान्य कामकाज &nbsp; को वहां गिरने से रोकने के लिए है। ...

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

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


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

हालांकि एक बेहतर तरीका जावास्क्रिप्ट ईवेंट हैंडलर्स के माध्यम से व्यवहार लागू करने के लिए होगा: वैसे भी, यहाँ आप कैसे की जाँच करेंगे।

+0

जिस अजीब व्यवहार से केवल आईई 6/7 पर लागू होता है। यह अपने मार्कअप सहित पूरे सेल को प्रस्तुत नहीं करेगा। आम तौर पर सीमा या पृष्ठभूमि रंग की कमी पहली बार देखी जाती है। – BalusC

1

jQuery withouth (पुराने अच्छा समय की तरह):

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

आप, महोदय, "अच्छा" की एक अजीब परिभाषा है। – nickf

+1

महोदय, मुझे लगता है कि आप विडंबनात्मक टिप्पणियों को समझ नहीं सकते हैं। – Matias

संबंधित मुद्दे

 संबंधित मुद्दे