在div中将属性添加到第二个子节点

时间:2012-01-13 11:29:44

标签: jquery html css internet-explorer

有人可以告诉我如何将“top”属性添加到第二个“canvas”标签中,该标签在div中没有​​id,并且使用jquery或其他任何东西都适用于IE。以下是HTML代码段。

<div id="jqChart" class="ui-jqchart" style="height: 300px;">
<canvas width="841" height="300" style="position: relative;"></canvas>
<canvas width="794" height="222" style="position: relative; left: 37px; top: 42px;">        </canvas>
<div class="ui-jqchart-tooltip" style="position: absolute; display: none;"></div>
</div>

5 个答案:

答案 0 :(得分:2)

$("#jqChart > canvas:nth-child(2)").attr('top', 'yourValue');

答案 1 :(得分:0)

您可以使用:

$("#jqChart > canvas:nth-child(2)").attr("attribute_name", "attribute_value");

只需将* attribute_name *和* attribute_value *替换为您需要的任何内容。

答案 2 :(得分:0)

试试这个

$("#jqChart>canvas:eq(1)").css("top", "1px");

或者,

$("#jqChart>canvas").eq(1).css("top", "1px");

请注意,在eq(n)中,n是从零开始的。使用nth-child的替代解析可能看起来像

$("#jqChart>canvas:nth-child(2)").css("top", "1px");

答案 3 :(得分:0)

您可以使用eq方法选择第二个canvas元素(从匹配的元素集中返回指定索引处的元素,从0开始):

var canvas = $("#jqChart canvas").eq(1);

我不完全确定top属性的含义。我想你可能指的是top CSS属性,在这种情况下你需要css方法:

canvas.css("top", "100px");

如果您确实是指top属性,请查看attr方法。

您也可以使用:eq选择器,但这比.eq方法慢。

答案 4 :(得分:0)

在jQuery中,你可以用

来完成
$('#jqChart > canvas:last').attr('top', 'attr_value');