JQuery

2013-05-24 3 views
6

में टेक्स्ट बनाम आंतरिक HTML, मुझे दोनों तरीकों से एक ही परिणाम मिलता है, लेकिन यह सुनिश्चित नहीं है कि क्यों। एसओ पर शोध मुझे यह बताता है:JQuery

.text() उस तत्व और उसके सभी वंशज तत्वों का पाठ देता है, जहां .inner HTML उस तत्व में सभी HTML को लौटाता है।

हालांकि, आगे के शोध ने मुझे यह बताया है: असली मुद्दा यह है कि पाठ() और आंतरिक HTML पूरी तरह से अलग-अलग वस्तुओं पर काम करता है।

क्या मुझे कुछ स्पष्टीकरण मिल सकता है?

एचटीएमएल

<table id="table2"> 
<th> Col1 </th> 
<th> Col2 </th> 
<tbody> 
<tr> 
<td id="data">456</td> 
</tr> 
</tbody> 
</table> 

JQuery

$('td').click(function() { 
    var x=$(this).text(); 
    alert(x); //returns '456' 
}) 

var abc = document.getElementById('data'); 
var xyz = abc.innerHTML; 
    alert(xyz); //also returns '456' 
+0

हां, .text एक jQuery संग्रह का एक तरीका है, जबकि .innerHTML HTML नोड्स का एक तरीका है। दो पूरी तरह से अलग चीजें। एक ब्राउज़र द्वारा कार्यान्वित किया जाता है, दूसरा jQuery द्वारा कार्यान्वित किया जाता है। उनमें से प्रत्येक के पास अलग-अलग उद्देश्य भी हैं। –

+3

सेल में कुछ तत्व जोड़ें, और आप अंतर देखेंगे –

उत्तर

6

.text() उस तत्व के सभी पाठ नोड्स के एक स्ट्रिंग प्रतिनिधित्व वापसी करते हुए .html() आप सभी नोड्स की प्रस्तुति दे देंगे होगा।