【发布时间】:2018-08-28 20:56:34
【问题描述】:
我正在尝试以编程方式创建一个 div,将其附加到父 div,并将这个新创建的 div 的宽度设置为等于 <a>...</a> 内的文本宽度,这是同一父 div(其兄弟)的子级。
html:
<div id='div0'>
<a href="#">text</a>
</div>
js/jquery:
var curDiv = document.getElementById('div0');
var iDiv = document.createElement('div');
iDiv.id = 'newDivId';
iDiv.className = 'newDivClass';
curDiv.appendChild(iDiv);
// the div is appended successfuly
// next step below doesn't work
var curTxt = $('#div0').next("a").text();
var curWidth = curTxt.width();
$('.newDivClass').css('width', curWidth);
我使用 .log 得到的是变量 curTxt = (empty),它还返回此错误:curTxt.width is not a function。
【问题讨论】:
-
阅读 jQuery
.next()文档:api.jquery.com/next - Next 获取下一个兄弟姐妹,而不是孩子。尝试使用.find() -
嗯,使用inline-block而不是block?
-
您可以使用
$('#div0 > a')选择器来访问您的a元素。
标签: javascript jquery append width