Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 内容更改后的元素高度_Javascript_Jquery_Textarea - Fatal编程技术网

Javascript 内容更改后的元素高度

Javascript 内容更改后的元素高度,javascript,jquery,textarea,Javascript,Jquery,Textarea,我有一段代码,修改DIV的内容以匹配textarea的内容,然后将DIV中的高度更改应用于textarea元素 <textarea class="fieldEdit" data-fieldid="1_description"></textarea> <div class="hiddenDiv" data-fieldid="1_description"></div> <Script> $('.fieldEdit').live('keyu

我有一段代码,修改DIV的内容以匹配textarea的内容,然后将DIV中的高度更改应用于textarea元素

<textarea class="fieldEdit" data-fieldid="1_description"></textarea>
<div class="hiddenDiv" data-fieldid="1_description"></div>

<Script>
$('.fieldEdit').live('keyup', function(){growTextArea(this)});

function growTextArea(parameter) {
// works
     $('div').find("[data-fieldid='1_description']").text($(parameter).val());
     $("[data-fieldid='1_description']").text($(parameter).val());

// No Works
     height = $('div').find("[data-fieldid='1_description']").outerHeight();
     height = $("[data-fieldid='1_description']").outerHeight();
     alert(height);

// Works
     heightDiv = $('.hiddenDiv').outerHeight();
     alert(heightDiv);

     $(parameter).css('height', $('div').find("[data-fieldid='1_description']").outerHeight());
}
</script>

$('.fieldEdit').live('keyup',function(){growTextArea(this)});
函数区域(参数){
//工作
$('div').find(“[datafieldid='1_description']”)。text($(parameter.val());
$(“[data fieldid='1_description']”)。文本($(parameter.val());
//没用
高度=$('div')。查找(“[data fieldid='1_description']”)。outerHeight();
高度=$(“[data fieldid='1_description']”)。outerHeight();
警戒(高度);
//工作
heightDiv=$('.hiddenDiv').outerHeight();
警报(高度div);
$(parameter).css('height',$('div').find(“[datafieldid='1_description'])).outerHeight();
}

DIV内容正确更改,因此搜索功能正常工作,但是搜索功能始终返回DIV的原始高度。该函数由文本区域中的onKeyUp调用。如果将.find替换为.hiddenDiv,则高度更改将正确反映。

您需要使用jQuery promise函数。比如:

$('#divId').html(someText).promise().done(function(){
        // check height now
    });

也许是一个简单的例子?你要找的是哪个
.find
你要换成
.hiddenDiv
?实际上是一个输入错误,没有工作的人已经开始了$('div')。find…Roberts解决方案是一种不同的方法,可以工作,但我试图避免硬编码一个类或ID来识别div元素,而是使用一个数据属性。我不知道为什么jquery.find()允许我更改内容,但不能检索当前高度属性。。。我似乎无法让JSFIDLE按数据属性进行搜索,因此无法显示工作版本。