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

我用jQuery做这个:

@xmlOut = $('') @xmlOut.attr('xsi:schemaLocation','test') 

我明白了:

  

“L”不再是大写……

尝试使用普通的Javascript的setAttribute ,它不区分大小写。

 @xmlOut.get(0).setAttribute('xsi:schemLocation', 'test'); 

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

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

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

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

 $('svg').attr('viewBox', '0 0 100 100'); 

Kevin的答案不正确,。setAttribute()会将属性名称更改为小写。

而是使用带有空字符串的element.setAttributeNS()作为第一个参数。

 @xmlOut.get(0).setAttributeNS('', 'xsi:schemaLocation','test') 

https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttributeNS