Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 指令能否使用jqLite修改子元素的宽度?_Jquery_Angularjs - Fatal编程技术网

Jquery 指令能否使用jqLite修改子元素的宽度?

Jquery 指令能否使用jqLite修改子元素的宽度?,jquery,angularjs,Jquery,Angularjs,我有一个指令克隆它的目标表元素,然后修改克隆。我想更改克隆表中行(或单元格)的宽度 使用jqLite,该指令可以设置表格的宽度: elem.css({width: 180+'px'}); 在表中的一行(或td)上执行类似语句会给出“TypeError:undefined不是函数”: row.css({ width: cellWidth+'px' }); jQuery的这段代码正是我所需要的: var $fixedTable = fixedTable; $fixedTable.find('tr

我有一个指令克隆它的目标表元素,然后修改克隆。我想更改克隆表中行(或单元格)的宽度

使用jqLite,该指令可以设置表格的宽度:

elem.css({width: 180+'px'});
在表中的一行(或td)上执行类似语句会给出“TypeError:undefined不是函数”:

row.css({ width: cellWidth+'px' });
jQuery的这段代码正是我所需要的:

var $fixedTable = fixedTable;
$fixedTable.find('tr').each(function (x, elem) {
    $(elem).find('th,td').each(function (i, elem) {
        $(elem).width(cellWidth);
    });
});

这可以使用jqLite来完成吗?或者我需要使用jQuery来更改行宽度吗?

jqLite是jQuery的一个子集。jqLite包含find()方法,该方法仅限于按标记名进行查找。我需要查看更多的代码,但是如果您只使用标记(tr、th、td等),那么您应该能够仅使用jqLite选择所需的子元素。jqLite不包括上面使用的width()方法。您可以使用addClass()作为解决方法,但需要有一个预定义的宽度类。我希望这有帮助。有一种观点认为应该避免使用AnguarJS的jQuery。您应该能够轻松地使用jqLite,但这取决于具体的用例

Angular的jqLite jqLite仅提供以下jQuery方法:

  • addClass()
  • find()-仅限于按标记名查找

我认为问题在于你如何穿越
元素
到孩子(
),因为

row.css({ width: cellWidth+'px' });
这是正确的。可能您必须使用以下内容:

row = elem.children(XY);

请参阅文档以供参考。

确切的用例是修改jqLite元素的子元素的宽度。现在我的问题包括jQuery,它完成了我想在jqLite中执行的操作,但无法完成,因为子元素的css()方法未定义。+1我遇到了相同的问题:“修改Angular指令中子元素的宽度”。你们的问题为我指明了正确的方向,甚至包含了你们问题的答案。