在 javascript 中设置跨度 属性

Set property of a span in javascript

我想设置span的宽度,我成功获取到了正确的元素。我已经试过了:

$(".k-widget .k-numerictextbox")[0].style.width=60;
//the next one gives VM37616:1 Uncaught TypeError: $(...)
//[0].style.setAttribute is not a function
$(".k-widget .k-numerictextbox")[0].setAttribute('width', '60');
$(".k-widget .k-numerictextbox")[0].style.setAttribute('width', '60');

在控制台中:

$(".k-widget .k-numerictextbox")[0].style.width

给我看这个,但我想将它设置为 60 像素:

""

事实上,我正在迭代,我的最后一次迭代设置了一个数字文本框,它似乎重置了我的宽度:

 $.each(grid.wrapper.find("[class=k-filter-row]"), function (index, elt) {
    $.each(grid.wrapper.find("[data-field=Id]"), function (index, elt) {
        $(".k-widget .k-numerictextbox")[0].style.width = "60px";//works
        $.each(grid.wrapper.find("[data-role=numerictextbox]"), function (index, elt) {
            console.log($(this));
          //will undo my changes
            $(this).kendoNumericTextBox({
                culture: "fr-FR",
                format: "#",
                decimals: 0,
                min: 0,
                width:60,
                step: 1

            });
        });
     });
}); 

有什么帮助吗?

首先你需要检查你是否有正确的 jq 选择器和 试试这个:

$(".k-widget .k-numerictextbox").width(60);

如果您正在使用 jQuery,那么

$(".k-widget .k-numerictextbox").width(60);

应该可以解决问题。

http://api.jquery.com/width/

非常简单的解决方案:我在之后设置宽度。

$.each(grid.wrapper.find("[class=k-filter-row]"), function (index, elt) {
    $.each(grid.wrapper.find("[data-field=Id]"), function (index, elt) {
        $.each(grid.wrapper.find("[data-role=numerictextbox]"), function (index, elt) {
            console.log($(this));
            $(this).kendoNumericTextBox({
                culture: "fr-FR",
                format: "#",
                decimals: 0,
                min: 0,
                step: 1

            });
            $(".k-widget .k-numerictextbox")[0].style.width = "60px";
        });
     });
});