2009-10-30 13 views
24

मैं जावास्क्रिप्ट के साथ एक HTML div तत्व क्लाइंट पक्ष की आईडी संशोधित कर रहा हूं। निम्न कोड इंटरनेट एक्सप्लोरर में ठीक काम करता है लेकिन फ़ायरफ़ॉक्स/2.0.0.20 में नहीं। यह फ़ायरफ़ॉक्स के हाल के संस्करणों में काम करता है।मैं जावास्क्रिप्ट के साथ एक HTML तत्व की आईडी कैसे बदलूं?

document.getElementById('one').id = 'two'; 

किसी को भी मुझे बता सकते हैं:

  1. क्यों इस फ़ायर्फ़ॉक्स में काम नहीं करता।
  2. फ़ायरफ़ॉक्स में यह काम कैसे करें।

स्पष्टीकरण के लिए, मैं बाहरी शैली शीट में एक अलग शैली का संदर्भ देने के लिए तत्व आईडी बदल रहा हूं। शैली आईई में लागू होती है लेकिन एफएफ में नहीं।

+2

परीक्षण किया फ़ायरफ़ॉक्स में काम करना चाहिए - आपको क्या लगता है कि यह नहीं है? – Greg

+1

यह फ़ायरफ़ॉक्स में मेरे लिए काम करता है, क्या आपको जावास्क्रिप्ट त्रुटि मिल रही है? क्या आप अधिक कोड उदाहरण पोस्ट कर सकते हैं? –

+0

फ़ायरबग डाउनलोड करें और देखें कि कंसोल विंडो –

उत्तर

33

यह फ़ायरफ़ॉक्स में काम करता है (2.0.0.20 सहित)। http://jsbin.com/akili (यूआरएल को /edit जोड़ने संपादित करने के लिए) देखें:

<p id="one">One</p> 
<a href="#" onclick="document.getElementById('one').id = 'two'; return false">Link2</a> 

पहले क्लिक बदलता है id"two" करने के लिए, दूसरा क्लिक त्रुटियों क्योंकि id="one" साथ तत्व अब नहीं पाया जा सकता है!

शायद आप एक और तत्व पहले से ही id="two" (FYI you can't have more than one element with the same id) के साथ है।

+1

+1 उदाहरण अपलोड करने के लिए – Seb

7

मेरे लिए काम करने लगता है कि:

<html> 
<head><style> 
#monkey {color:blue} 
#ape {color:purple} 
</style></head> 
<body> 
<span id="monkey" onclick="changeid()"> 
fruit 
</span> 
<script> 
function changeid() 
{ 
var e = document.getElementById("monkey"); 
e.id = "ape"; 
} 
</script> 
</body> 
</html> 

अपेक्षित व्यवहार शब्द "फल" का रंग बदलने के लिए है।

शायद जब आप दिनचर्या कहते हैं तो आपका दस्तावेज़ पूरी तरह लोड नहीं होता था?

+0

मेरा सबसे हालिया संपादन देखें। – Tesseract

3

आप का उपयोग किए बिना id संशोधित कर सकते हैं getElementById

उदाहरण:

<div id = 'One' onclick = "One.id = 'Two'; return false;">One</div> 

आप इसे यहाँ देख सकते हैं: http://jsbin.com/elikaj/1/

मोज़िला फ़ायरफ़ॉक्स 22 और गूगल क्रोम के साथ 60.0

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