How to "escape" the JavaScript class keyword to specify a CSS class value.

Posted by Robert Claypool on Stack Overflow See other posts from Stack Overflow or by Robert Claypool
Published on 2010-05-26T05:38:51Z Indexed on 2010/05/26 5:41 UTC
Read the original article Hit count: 308

Filed under:
|
|

C# allows a reserved word to be used as a property name via the ampersand. e.g.

// In ASP.NET MVC, we use @class to define 
// the css class attribute for some HtmlHelper methods.
var htmlObject = new { readonly = "readonly", @class = "ui-state-highlight" }

I want to do the same in JavaScript. e.g.

function makeGrid(grid, pager) {
    grid.jqGrid({
        caption: 'Configurations',
        colNames: ['Id', 'Name'],
        colModel: [
            { name: 'Id', index: 'Id' },
            { name: 'Name', index: 'Name', editable: true, 
              editoptions: { readonly: 'readonly', class: 'FormElement readonly' } },
          ],
        pager: pager,
        url: 'www.example.com/app/configurations") %>',
        editurl: 'www.example.com/app/configurations/edit") %>'
    }).navGrid(pager, { edit: true, add: false, del: false, search: false }, {}, {}, {});
}

Note class: 'FormElement readonly' is supposed to set the css class value on jqGrid's edit dialog, but IE errors out on the reserved word.

Is there an escape character in JavaScript too? #class? @class? &class? Otherwise, how might I tell jqGrid to set the css class on the popup editor? Thank you.

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about asp.net-mvc