Use Javascript variable in object name?

10,609

Solution 1

Try the following:

var id = 354;
CKEDITOR.instances['textarea'+id].insertHtml('<p>Whatever</p>');

Solution 2

You can use array notation:

CKEDITOR.instances['textarea' + id].insertHtml('<p>Whatever</p>');

Solution 3

var id = 354;
CKEDITOR.instances["textarea" + id].insertHtml('<p>Whatever</p>');

Since instances is an object, and objects essentially are hash tables you can access them with the array notation.

Share:
10,609
Nic Hubbard
Author by

Nic Hubbard

Updated on June 05, 2022

Comments

  • Nic Hubbard
    Nic Hubbard almost 2 years

    I am using CKEditor, and, when referring to the CKEditor instance, I need to use a variable. But, since calling the instance is a object, I am really not sure how to do this.

    I am using:

    CKEDITOR.instances.textarea123.insertHtml('<p>Whatever</p>');
    

    The issue is, I need 123 to be a variable, because I need to change the instance based on the editor page that is loaded.

    So, how can I use a variable in an object name?

    For obvious reasons the following does not work, but I need to achieve what it is "pretending" to do:

    var id = 354;
    CKEDITOR.instances.textarea+id+.insertHtml('<p>Whatever</p>');