这是我的代码
var pollPercent = function() {
$("#poll li").each(function(){
var percent = $(this).attr("data-percent");
var width = (percent / 100) * 1000;
var el = $(this);
$("head").append("<style>" + el + ":before {width: " + width + "px;}</style>");
});
};
pollPercent();
那么如何指向每个li并更改其“在伪元素之前”
答案 0 :(得分:0)
您可以使用nth-child
获取单个li
元素。 each
函数有助于提供索引。
$(...).each(function(index, element) {
... "li:nth-child(" + index + "):before" ...
})
答案 1 :(得分:0)
试试这个:
var text = $('#poll').find('li').map(function (i) {
var width = Math.round($(this).attr('data-percent') / 100 * 1000);
return '#poll li:nth-child(' + (i+1) + ')::before { width: ' + width + 'px; }';
}).join('');
$(document.body).append('<style>' + text + '</style>');