解决方案
您必须指定.s-text要选择的元素,在这种情况下,是 selected的子.separator元素。
解释
$.each(),或者$('selector').each()将遍历与您提供的选择器查询对应的所有元素。
每次进入循环时,都会选择对应元素数组的索引对应的特定元素并将其分配给变量this。
this是一个 DOMElement,而不是一个 JQuery 对象。这就是为什么我们把它放在括号内,$在它上面调用 JQuery() 对象:$(this).
JavaScript/jQuery
$(".separator").each(function()
{
var linewidth = 706 - $(this).find(".s-text").width();
$(this).find(".s-line").width(linewidth);
});
纯 JavaScript
var sep = document.getElementsByClassName('separator');
for (var i in sep)
{
if(sep[i].nodeType==1)
{
var linewidth = 706 - sep[i].querySelector('.s-text').offsetWidth;
sep[i].querySelector('.s-line').style.width = linewidth+"px";
}
}