Jquery appendTo()不是函数吗?

Jquery appendTo()不是函数吗?,jquery,Jquery,我原以为这段代码应该能用,但实际上不行,有人能解释一下吗 $("#addLinkLayout input.comment, #addLinkLayout input.link").each(function() { $(this).val().appendTo('div#links'); }); 它表示$(this).val().appendTo()不是函数。val返回字符串,而不是jQuery对象,请尝试: $('div#links').append($(this).val(

我原以为这段代码应该能用,但实际上不行,有人能解释一下吗

 $("#addLinkLayout input.comment, #addLinkLayout input.link").each(function() {
      $(this).val().appendTo('div#links');
 });

它表示
$(this).val().appendTo()
不是函数。

val返回字符串,而不是jQuery对象,请尝试:

$('div#links').append($(this).val());
$(this).val()不返回jQuery对象(它返回输入元素的值)。因此它不能被链接。

您可以将其更改为

$("#addLinkLayout input.comment, #addLinkLayout input.link").each(function() {
  $('div#links').append($(this).val());
});
val()
不返回DOM元素。它从DOM元素返回
属性。因此,如果您有类似于
的内容,那么在该节点上调用val()将得到一个字符串
“foo”
。由于javascript的string类没有方法
appendTo
,因此您将得到一个错误

你可能想要像这样的东西

$('div#links').append($(this).val());

appendTo
只能应用于jQuery对象。但是
val
返回一个字符串

请尝试以下方法:

$("#addLinkLayout input.comment, #addLinkLayout input.link").each(function() {
    $('div#links').append($(this).val());
});