2017-04-14 15 views
-4

なぜ.setAttributeはjQueryの

$(function() { 
 
    $('textarea').setAttribute('style', 'height:' + ($('textarea').scrollHeight) + 'px;'); 
 
});
<textarea> 
 
    This is very, very long preloading text, I mean vvveeerrryyy, vvveeerrryyy long one! 
 
</textarea>

では動作しません。私が間違って何をやっている、してください?私はそれを二重にチェックしたが、間違ったものは見つけられない。

+0

あなたのhtmlに[jquery file](https://code.jquery.com/)を追加しましたか? – Dwhitz

+0

Dhnありがとうございました – notte

+0

もちろん、jQueryファイルを追加しました。 https://jsfiddle.net/txt16afh/ – notte

答えて

2
  1. そのa attr()$('textarea')[0].scrollHeight
  2. 変更$('textarea').scrollHeightは、それはjQueryのに未定義
  3. setAttribute()
  4. が定義されていない関数を返し.because。また、htmlにjqueryライブラリを追加することを忘れないでください。

$(function() { 
 
$('textarea').attr('style', 'height:' + ($('textarea')[0].scrollHeight) + 'px;'); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea>This is very, very long preloading text, I mean vvveeerrryyy, vvveeerrryyy long one!</textarea>

+0

ああ、ありがとう。 JavaScriptのjQuey翻訳だけだった...ありがとう! – notte

+0

ya ..まさに右.. @ notte – prasanth

+0

'$( 'textarea')とは何ですか?scrollHeight' return? – charlietfl

0

jQueryが機能setAttribute()を持っていません。ここで

$('textarea').each(function() { 
    this.setAttribute('style', 'height:' + (this.scrollHeight) + 'px;overflow- y:hidden;'); 
}) 

次のjQueryを試してみてくださいattr()

$(function() { 
 
    $('textarea').attr('style', 'height:' + ($('textarea').scrollHeight) + 'px;'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea>This is very, very long preloading text, I mean vvveeerrryyy, vvveeerrryyy long one!</textarea>

+0

'$( 'textarea')は何ですか?scrollHeight' return? – charlietfl

+0

@charlietfl 'prop()'で実行する必要があります:) – notte

0

あなたはjQueryのheight()

012を使用して高さを設定することができます
関連する問題