Javascript 对象没有方法';追加'-需要快速帮助吗

Javascript 对象没有方法';追加'-需要快速帮助吗,javascript,jquery,Javascript,Jquery,我目前正试图编写一个函数,通过勾选复选框将唯一id动态应用于列表项,尽管我遇到了一个问题,但在将唯一id附加到列表项时,控制台中会显示以下错误消息: Uncaught TypeError: Object SpTU 4, 183:false<br /> has no method 'append' uncaughttypeerror:objectsptu4183:false没有方法“append” 以下是导致错误的代码: strng += name+":"+val+"<br

我目前正试图编写一个函数,通过勾选复选框将唯一id动态应用于列表项,尽管我遇到了一个问题,但在将唯一id附加到列表项时,控制台中会显示以下错误消息:

Uncaught TypeError: Object SpTU 4, 183:false<br /> has no method 'append'
uncaughttypeerror:objectsptu4183:false
没有方法“append”
以下是导致错误的代码:

strng += name+":"+val+"<br />";
var i = 1;
strng.append($({ type: "text", id:+i }));
strng+=name+”:“+val+”
”; var i=1; 追加($({type:“text”,id:+i}));
我需要帮助与此迅速,所以任何帮助将不胜感激! 提前谢谢

-------编辑---------- 这是整个函数,所以它更容易理解,我是新的编程,它可能是非常混乱和非破坏性的

var dataToShow = {};
function check(tickbox){
  dataToShow[tickbox.value] = tickbox.checked == true;
  showDataOnScreen(dataToShow);


function showDataOnScreen(dataToShow){
var $strng = "";
jQuery.each(dataToShow,function(name,val){
    $strng += name+":"+val+"<br />";
    var i = 1;
    $strng.append($({ type: "text", id:+i }));
    });

jQuery("#list").html(strng);
var-dataToShow={};
功能复选框(勾选框){
dataToShow[tickbox.value]=tickbox.checked==true;
在屏幕上显示数据(dataToShow);
功能显示屏幕上的数据(数据显示){
var$strng=“”;
每个(dataToShow,函数(name,val){
$strng+=name+“:“+val+”
”; var i=1; $strng.append($({type:“text”,id:+i})); }); jQuery(“#list”).html(strng);
确保strng是JQUERY对象,假设您正在使用JQUERY

如果您试图构建选中项的列表,我会这样做

// create an array to store the checked items
var checkedItems = new Array();

// loop through the checked check boxes contained in the list element
// and add them to the array
$("#list :checked").each(function (){
    var item = { name: $(this).attr("name"), value: $(this).val() };
    checkedItems.push(item);
});
或者,更好的是,如果您计划在不同的元素中显示结果,您可以剪切数组

// loop through the checked check boxes contained in the list element
// and add them to a different element
$("#list :checked").each(function (){
    var item = "<div>"+ $(this).attr("name") + ": " + $(this).val() + "</div>";
    $("#selectedList").append(item);
});
//循环查看列表元素中包含的复选框
//并将它们添加到不同的元素中
$(“#列表:选中”)。每个(函数(){
var item=“”+$(this.attr(“name”)+”:“+$(this.val()+”;
$(“#selectedList”)。追加(项目);
});
在jsFiddle上

参考资料:

  • 数组:
  • jQuery each():
  • jQuery:选中的选择器:
  • jQuery append():

Alex,你的
strng
变量中有什么?字符串没有
.append
方法…你想用
$做什么({type:“text”,id:+i})
?我从未见过jQuery的这种用法。似乎您完全混合了HTML字符串和jQuery。阅读一些jQuery教程可能会有所帮助:。选中复选框时,会将该字符串添加到列表中:jQuery(“#list”).HTML(strng);提示:在理解JS基础知识之前不要使用jQuery。你在考虑Python吗?JavaScript不为字符串提供
append
。当他们不知道它的意思时,给他们代码是毫无意义的。@Alex…这就是为什么我的答案有很好的注释和参考链接的原因。利用这些信息,一个没有经验的web开发人员每个愿意学习的人都应该能够理解它。