2012-04-02 5 views
1

Я видел этот пример в Интернете:Что означает этот атрибут ниже?

$('#questionTextArea').each(function() { 

    var $this = $(this); 
    var $questionText = $("<textarea class='textAreaQuestion'></textarea>") 
        .attr('name',$this.attr('name')) 
        .attr('value',$this.val()); 

    $question.append($questionText); 

    }); 

Где это говорит '.attr ('имя', $ this.attr ('имя')), что это значит? Означает ли это атрибут «имя» как атрибут «id» #questionTextArea или то же «имя», что и атрибут «class» textAreaQuestion?

Благодаря

+0

Как вы используете $ это, я бы сказал, questionTextArea –

+0

так идентификатор и и имя атрибута оба равны 'questionTextArea? – user1304948

ответ

6

Это присвоение атрибута на каждый вновь созданный <textarea>name к атрибуту #questionTextAreaname.

// Points $this to the current node the .each() is iterating on (#questionTextArea) 
var $this = $(this); 

// The name attribute of the current node .each() is iterating on 
$this.attr('name'); 

Обратите внимание, что поскольку это идентификатор запрашивается, должен быть только один из них, и, следовательно, цикл .each() является своего рода ненужным. То же самое может быть достигнуто что-то вроде:

var $questionText = $("<textarea class='textAreaQuestion'></textarea>") 
    .attr('name', $('#questionTextArea').attr('name')) 
    .attr('value', $('#questionTextArea').val()); 
+0

Могу ли я спросить, что это атрибут имени фактически равен? другими словами «name = ...» – user1304948

+0

@ user1304948 Мы не знаем из опубликованного кода, что такое фактическое значение 'name'. Независимо от того, что 'name = 'something'' в элементе с' id =' questionTextArea'' (предположим, что это '