使用带有jquery的attr()保持大写(区分大小写)

Seb*_*ien 10 javascript xml jquery

我用jQuery做这个:

@xmlOut = $('<rules />')
@xmlOut.attr('xsi:schemaLocation','test')
Run Code Online (Sandbox Code Playgroud)

我明白了:

<rules xsi:schemalocation='test'></rules>
Run Code Online (Sandbox Code Playgroud)

"L"不再是大写......

Evg*_*lov 10

有一张票http://bugs.jquery.com/ticket/11166

或者,您可以将属性钩子(使用小写名称)添加到jQuery,以便使用所需的setter方法.例如:

$.attrHooks['viewbox'] = {
    set: function(elem, value, name) {
        elem.setAttributeNS(null, 'viewBox', value + '');
        return value;
    }
};
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用.attr()设置区分大小写的属性:

$('svg').attr('viewBox', '0 0 100 100');
Run Code Online (Sandbox Code Playgroud)


Kev*_*sox 8

尝试使用setAttribute不区分大小写的普通Javascript .

@xmlOut.get(0).setAttribute('xsi:schemLocation', 'test');
Run Code Online (Sandbox Code Playgroud)

  • 我认为`setAttribute`小写属性名称。我敢肯定我以前见过这种行为。 (2认同)
  • 示例:test = $('<div />'); test.get(0).setAttribute('TEST','lala')=> <div test ="lala"> </ div> (2认同)