2012-03-22 16 views
7

मैं अपना टेक्स्ट एक लिंक के रूप में सेट करने की कोशिश कर रहा हूं ताकि जब मैं उस पर क्लिक करूं, तो यह एक फ़ंक्शन चलाता है। अभी टेक्स्ट को एक लिंक के रूप में प्रकट करने का प्रयास करने के लिए मैंने google.com पर सेट किया है, लेकिन ऐसा लगता है कि यह कुछ भी नहीं कर रहा है। यह सिर्फ स्थिर पाठ है। कोई सुझाव?गतिशील रूप से लिंक जावास्क्रिप्ट

 var leftDiv = document.createElement("div"); //Create left div 
     leftDiv.id = "left"; //Assign div id 
     leftDiv.setAttribute("style", "float:left; width:66.5%; line-height: 26px; text-align:left; font-size:12pt; padding-left:8px; height:26px;"); //Set div attributes 
     leftDiv.style.background = divColor; 
     a = document.createElement('a'); 
     a.setAttribute('href', 'google.com'); 
     user_name = a.appendChild(document.createTextNode(fullName + ' ')); 

     leftDiv.appendChild(user_name); // Add name to left div 
+1

मुझे लगता है कि किसी अन्य साइट का एक लिंक, एक पूर्ण यूआरआई/डोमेन नाम का उपयोग करना है: 'google.com' को 'href' के लिए 'href' // google.com' होना चाहिए गूगल। –

+0

यह अभी भी एक लिंक के बजाय स्थिर पाठ के रूप में दिखाई देता है। – mkyong

+0

आप दस्तावेज़ में लिंक को कभी भी सम्मिलित नहीं कर रहे हैं, केवल टेक्स्ट नोड। 'a.appendChild 'नोड को सिर्फ संलग्न करता है। –

उत्तर

0

इस आजमाएं: इस उदाहरण को http://jsfiddle.net/HknMF/5/

var divColor = "red"; 
var fullName = "bob"; 

var leftDiv = document.createElement("div"); //Create left div 
     leftDiv.id = "left"; //Assign div id 
     leftDiv.setAttribute("style", "float:left; width:66.5%; line-height: 26px; text-align:left; font-size:12pt; padding-left:8px; height:26px;"); //Set div attributes 
     leftDiv.style.background = divColor; 
     a = document.createElement('a'); 
     a.setAttribute('href', 'google.com'); 
     a.appendChild(document.createTextNode(fullName + ' ')); 

     leftDiv.appendChild(a); // Add name to left div 

    document.body.appendChild(leftDiv); 
18

देखो:

http://jsfiddle.net/ajXEW/

मैं कोड के अंदर कुछ टिप्पणी है कि अलग कदम की व्याख्या गयी।

var leftDiv = document.createElement("div"); //Create left div 
    leftDiv.id = "left"; //Assign div id 
    leftDiv.setAttribute("style", "float:left; width:66.5%; line-height: 26px; text-align:left; font-size:12pt; padding-left:8px; height:26px;"); //Set div attributes 
    leftDiv.style.background = "#FF0000"; 
    a = document.createElement('a'); 
    a.href = 'google.com'; // Insted of calling setAttribute 
    a.innerHTML = "Link" // <a>INNER_TEXT</a> 
    leftDiv.appendChild(a); // Append the link to the div 
    document.body.appendChild(leftDiv); // And append the div to the document body 
+0

यह काम किया। धन्यवाद! – mkyong

+0

मैंने कोड में कुछ नई टिप्पणियों के साथ उत्तर अपडेट किया। –

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