שלח תשובה

זירת השאלות

409
צפיות
8
תשובות

איך עושים רפלייס יותר מפעם אחת …

,‏ 27 במאי, 2005

לדוגמה , הנה הקוד


<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 תשובות

  1. BuildHome הגיב:

    לולאה
    נסה משהו כזה:
    while(ggstring.indexOf(‘ABCD’)>-1) var ggtext = ggstring.replace(‘ABCD’,’EFGH’)

  2. ניר טייב הגיב:

    אתה צריך לזכור שהפרמטר הראשון
    הוא אובייקט RegExp ולא מחרוזת. ברגע שאתה מכניס מחרוזת מתבצע Casting ע"י eval לאובייקט RegExp. וזו פעולה יקרה (מבחינת ביצועים).


    ggtest = ggstring.replace(/ABCD/g, "EFGH");

    מלבד זאת innerHTML מחזיר לך מחרוזת, אינך צריך להשתמש בבני של מחלקת String (כלומר לא להשתמש ב-new אלא ישר להשים את המחרוזת בתוך המשתנה).

  3. MCG הגיב:

    שאלה פשוטה ,שהסתבכתי …
    למה הקוד הזה לא עובד לי:
    var gg.g=’11’;
    document.write(gg.g);

  4. ניר טייב הגיב:

    שמות של משתנים לא יכולים להכיל
    תווים שהם לא קו תחתון או אותיות לטיניות או מספרים.

שלח תשובה

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!