cell
是在CSS div
布局内用于grid
的jQuery对象。
此:cell.css("grid-row")
返回此值:auto / auto
如何获取cell
的实际数字行值?
提琴:https://jsfiddle.net/9gepnLhk/2/
打开控制台时,您可以看到输出为auto / auto
。我想要1 / span 1
或1 / 2
等,这样我就可以得到第一个字符,在这种情况下为1
。
答案 0 :(得分:1)
我为您找到了一个动态的解决方案。希望对您有帮助
$(function(){
var rowSize =$(".cell").first().css("grid-row").split('/').length
$(".cell").each((c,elem)=>{
elem.innerText= Math.ceil(++c / rowSize)
})
})
答案 1 :(得分:0)
从jsfiddle中,我可以看到您尚未添加任何grid-row
属性。这就是为什么您获得默认的auto / auto
的原因。如果您添加grid-row: 1 / 3;
之类的网格属性,则它将1 / 3
记录到控制台。
答案 2 :(得分:0)
您不是自己将grid-row
属性添加到单元格中。 jQuery返回默认值。如果将grid-row
添加到单元格,则将获得您的价值。 https://jsfiddle.net/4brvo92g/
答案 3 :(得分:0)
我最终使用jQuery对grid-area
属性进行了硬编码。这是一个丑陋的解决方案,需要事先了解列数,因此它不是动态的:
$(".cell").each(function (index) {
$(this).text(index); // for debugging
var col = index % 2; // 2 is the column count, hardcoded.
var row = Math.floor(index / 2); // ditto
$(this).css({"grid-area": (row + 1) + " / " + (col + 1) + " / span 1 / span 1"});
});
我没有将此答案标记为已接受,因为我认为应该可以采用更动态的方法。