10

我用 jQuery 做这个:

@xmlOut = $('<rules />')
@xmlOut.attr('xsi:schemaLocation','test')

我明白了:

<rules xsi:schemalocation='test'></rules>

“L”不再是大写了......

4

3 回答 3

10

有票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');
于 2014-03-11T20:26:59.267 回答
7

尝试使用setAttribute不区分大小写的纯 Javascript。

@xmlOut.get(0).setAttribute('xsi:schemLocation', 'test');
于 2012-11-20T10:13:33.300 回答
2

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

相反,将 element.setAttributeNS() 与第一个参数的空字符串一起使用。

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

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

于 2017-12-07T11:55:23.357 回答