javascript - White space in onclick value causes incorrect HTML -


मैं & lt; tr & gt; पंक्ति को & lt; तालिका & gt; :

  & lt; स्क्रिप्ट प्रकार = "टेक्स्ट / जावास्क्रिप्ट" & gt; फ़ंक्शन addRow () {var filesName = 'Document Draft.png' var newRow = "& lt; tr & gt; & lt; td & gt; टीडी डेटा 1 & lt; / td & gt; & lt; td & gt; & lt; एक onclick = deleteDocument (यह, '" + filesName + "') & Gt; हटाएं & lt; / a & gt; & lt; / td & gt; & lt; / tr & gt;"; $ ( "# IdDocList") संलग्न (newRow)। } & Lt; / script & gt;  

यह कोड एक tr को तालिका जोड़ता है।

समस्या: लेकिन मुद्दा यह है कि फाइलनाम में एक सफेद स्थान है जो गलत रूप से DOM पर नीचे दिया गया है:

  & lt; tr & gt; & Lt; td & gt; टीडी डेटा 1 & lt; / td & gt; & LT; टीडी & gt; & Lt; एक onclick = "deleteDocument (यह, 'दस्तावेज़' Draft.png ')" "& gt; हटाएं & lt; / a & gt; & Lt; / टीडी & gt; & Lt; / टीआर & gt;  

इसलिए onclick काम नहीं करता क्योंकि rendered HTML

  onclick = "delete document (यह, 'दस्तावेज़' ड्राफ्ट) .पीएनजी ')  

जैसा कि आप ऊपर की रेखा में देख सकते हैं, यह सफेद स्थान के बजाय (") ले जाएगा। इसे ठीक कैसे करें?

चूंकि आपके पास onclick संपत्ति मान में रिक्त स्थान हैं, उदाहरण के लिए, आप इसके मान को लपेटते हैं , "" :

  ... & lt; एक onclick = \ "deleteDocument (यह, '" + फाइलनाम + "' ') \" & gt; ...  

। इनलाइन जेएस onclick = "" (जो आजकल निराश है) के बजाय, आप jQuery के .on का उपयोग कर सकते हैं ("क्लिक करें") :

  var filesName = 'Document Draft.png'; var newRow = "& lt; tr & gt; & lt; td & gt; टीडी डेटा 1 & lt; / td & gt; & lt $ ('# IdDocList'); $ ("# idDocList");; ('# idDocList'); td & gt; & lt; एक वर्ग = 'हटाएं' & gt; हटाएं & lt; / a & gt; & lt; / td & gt; & lt; / tr & gt; .on ('click', ".delete", फ़ंक्शन () {deleteDocument (यह, फ़ाइलें नाम); });  


Comments