Javascript 自动调整页面上多个文本区域的大小

Javascript 自动调整页面上多个文本区域的大小,javascript,jquery,html,css,Javascript,Jquery,Html,Css,以下是自动调整单个文本区域大小的代码段: 例如,在上面的第一个链接中,这是文本区域: <textarea id="comments" placeholder="Type many lines of texts in here and you will see magic stuff" class="common"></textarea> 当输入文本时,它会调整大小 但是, <textarea id="comments" placeholder="Type

以下是自动调整单个文本区域大小的代码段:

例如,在上面的第一个链接中,这是文本区域:

<textarea id="comments" placeholder="Type many lines of texts in here and you will see magic stuff" class="common"></textarea>

当输入文本时,它会调整大小

但是,

<textarea id="comments" placeholder="Type many lines of texts in here and you will see magic stuff" class="common"></textarea>

<textarea id="comments" placeholder="Type many lines of texts in here and you will see magic stuff" class="common"></textarea>


只有第一个是调整大小。如何使第二个也调整大小

id
必须是唯一的,这里您声明了两个具有相同id
注释的div
;由于已将事件附加到id,因此它无法工作,因为函数
getElementById
只返回一个元素(在dom中找到的第一个元素,这就是第二个textarea不调整大小的原因)


您可以使用
class
而不是div,或者将事件附加到
textarea
元素,而不是特定的div

id
必须是唯一的,在这里您声明了两个具有相同id
注释的div
;因为您已将事件附加到id,它无法工作,因为函数
getElementById
retURN只包含一个元素(第一个元素位于dom中,这就是为什么第二个textarea不调整大小的原因)

您可以使用
class
而不是div,或者将事件附加到
textarea
元素,而不是特定的div

这很好。使用类来标识,而不是ID

// Bad
var txt = $('#comments'),
    hiddenDiv = $(document.createElement('div')),
    content = null;

// Good and working
var txt = $('.common'),
    hiddenDiv = $(document.createElement('div')),
    content = null;
这很好。使用类来标识,而不是ID

// Bad
var txt = $('#comments'),
    hiddenDiv = $(document.createElement('div')),
    content = null;

// Good and working
var txt = $('.common'),
    hiddenDiv = $(document.createElement('div')),
    content = null;

width/heigth?
的上下文中调整大小。确保每个元素都有唯一的
ID
。o/w使用common
class
您只允许有一个具有相同ID的元素,您似乎使用注释作为两个元素的ID,而getElementById只返回一个元素。您必须获得两个文本区域,例如,通过标记名getElementsByTagName并遍历返回的数组,并将事件处理程序附加到每个数组。请注意,同一id在html文档中只能使用一次。哦,好的,我现在明白了。请在
width/heigth?
的上下文中调整大小。确保每个元素都有唯一的
id
。o/w使用common
class
只允许o如果有一个元素具有相同的ID,那么您似乎将注释用作两个元素的ID。ById只返回一个元素。您必须获取两个文本区域,例如,通过标记名getElementsByTagName,并在返回的数组中迭代,并将事件处理程序附加到每个元素。请注意,同一ID在html文档中只能使用一次。哦好的,我现在明白了。。