我认为这段代码应该可行,但它没有,有人可以解释一下吗?
$("#addLinkLayout input.comment, #addLinkLayout input.link").each(function() {
$(this).val().appendTo('div#links');
});
它说$(this).val().appendTo()
不是函数。
答案 0 :(得分:9)
appendTo
只能应用于jQuery对象。但是val
会返回一个字符串。
请改为尝试:
$("#addLinkLayout input.comment, #addLinkLayout input.link").each(function() {
$('div#links').append($(this).val());
});
答案 1 :(得分:2)
val()
不返回DOM元素。它从DOM元素返回value
属性。因此,如果您有类似<input value="foo" />
的内容,则在该节点上调用val()将为您提供字符串"foo"
。由于javascript的字符串类没有方法appendTo
,因此您收到错误。
你可能想要像
这样的东西$('div#links').append($(this).val());
答案 2 :(得分:1)
val返回一个字符串,而不是jQuery对象,请尝试:
$('div#links').append($(this).val());
答案 3 :(得分:1)
$(this).val()不返回jQuery对象(它返回input元素的值)。所以它不能被束缚。
答案 4 :(得分:1)
您可以将其更改为
$("#addLinkLayout input.comment, #addLinkLayout input.link").each(function() {
$('div#links').append($(this).val());
});