j查询对象到字符串请帮助

jQuery object to string help please

本文关键字:帮助 字符串 查询 对象      更新时间:2023-09-26

我正在创建一个jquery对象,如下所示:

 htmlCode = $("<div id='"+data.layoutDescriptions[i].id+"'></div");

当我这样做时,它似乎主要缺少一些元素:

if(data.type == "ListView"){
    htmlCode.append("<SELECT property='"+ data.property +"' size="+ data.listProps.length +" multiple>");
    i = 0;
    while(i < data.listProps.length){
        htmlCode.append("<OPTION value='"+ i+1 +"'>"+ data.listProps[i] +"</OPTION>");
        i++;
    }
    htmlCode.append("</SELECT>");
} 

其中数据是 Json 对象。

当我将其作为字符串执行此操作时,它可以工作。 例如而不是

htmlCode.append("<OPTION value='"+ i+1 +"'>"+ data.listProps[i] +"</OPTION>");

我会做的

htmlCode = htmlCode + "<OPTION value='"+ i+1 +"'>"+ data.listProps[i] +"</OPTION>";

我想找出缺少什么,所以我想查看对象我尝试了以下方法:

alert(JQuery.htmlCode.stringify());
alert(htmlCode.html);

下界工作。

有什么想法吗??

谢谢。

你的第一行代码

htmlCode = $("<div id='"+data.layoutDescriptions[i].id+"'></div");

将变量htmlCode声明为包含单个<div>元素(由传递给函数的 HTML 定义)的 jQuery 对象。

当您致电时

htmlCode.append("<SELECT property='"+ data.property +"' size="+ data.listProps.length +" multiple>");

您将一个<select>元素(同样,由传递给函数的 HTML 定义)附加到该<div>元素的末尾,这工作正常。

但是,当您致电时

htmlCode.append("<OPTION value='"+ i+1 +"'>"+ data.listProps[i] +"</OPTION>");

还将<option>附加到 <div> 元素,而不是您想要的<select>元素。

看起来你正在尝试使用 jQuery 对象和 .append() 函数构建一个 HTML 字符串,但这不是 jQuery 所做的。 jQuery与实际元素一起工作,它只是让你传递HTML来创建它们。

要获得 DOM 元素的字符串表示形式,您可以使用另一个问题中发布的内容。

但是,使用其他答案(控制台.log或 Firebug)中提供的方法似乎是更简单的选择,因为它们无需修改代码即可工作。

你应该使用Firefox/Firebug来查看你的对象,浏览它们,更改它们,...

尝试类似操作:

if(data.type == "ListView"){
   var options;
   htmlCode.append("<SELECT property='"+ data.property +"' size="+ data.listProps.length    +" multiple></SELECT>");
   i = 0;
   while(i < data.listProps.length){
       options+="<OPTION value='"+ i+1 +"'>"+ data.listProps[i] +"</OPTION>";
       i++;
   }
   $(htmlCode).find('select').html(options);
} 

这是一个演示演示