解決
選択する要素を指定する必要があります.s-text
。この場合は、選択した の子.separator
です。
説明
$.each()
、または$('selector').each()
指定したセレクタクエリに対応するすべての要素をループします。
ループに入るたびに、対応する要素の配列のインデックスに対応する特定の要素が選択され、変数に割り当てられますthis
。
this
JQuery オブジェクトではなく、DOMElement です。これが、括弧で囲み、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";
}
}