613
צפיות
צפיות
8
תשובות
תשובות
איך עושים רפלייס יותר מפעם אחת …
לדוגמה , הנה הקוד
<div id="GG">ABCD ABCD ABCD ABCD ABCD ABCD</div>
<!– page end scripts js// –><script type="text/javascript"><!–
var ggstring=new String (document.getElementById('GG').innerHTML);
var ggtext=ggstring.replace('ABCD','EFGH');
document.getElementById('GG').innerHTML=ggtext;
// –></script>
אז אני מעוניין שהתוצאה תהיה:
EFGH EFGH EFGH EFGH EFGH EFGH
ולא:
EFGH ABCD ABCD ABCD ABCD ABCD
מה צריך להוסיף ?
8 תשובות
הנה הקובץ …
…
לא מצליח לי
לולאה
נסה משהו כזה:
while(ggstring.indexOf('ABCD')>-1) var ggtext = ggstring.replace('ABCD','EFGH')
לא הבנתי … (זה לא עובד לי)
אה ,אוקי … , זה הסתדר עם /ABCD/g
אתה צריך לזכור שהפרמטר הראשון
הוא אובייקט RegExp ולא מחרוזת. ברגע שאתה מכניס מחרוזת מתבצע Casting ע"י eval לאובייקט RegExp. וזו פעולה יקרה (מבחינת ביצועים).
ggtest = ggstring.replace(/ABCD/g, "EFGH");
מלבד זאת innerHTML מחזיר לך מחרוזת, אינך צריך להשתמש בבני של מחלקת String (כלומר לא להשתמש ב-new אלא ישר להשים את המחרוזת בתוך המשתנה).
שאלה פשוטה ,שהסתבכתי …
למה הקוד הזה לא עובד לי:
var gg.g='11';
document.write(gg.g);
שמות של משתנים לא יכולים להכיל
תווים שהם לא קו תחתון או אותיות לטיניות או מספרים.