0

对 jquery 来说非常新。我有一个简单的 xml 文件,我正在阅读并在 html 页面中很好地显示。但是,我在 xml 中的一条记录具有其他人都没有的属性。虽然所有人都有名字和号码,但每个人都有名字、名字类型和号码。

我可以很好地读取这些数据,但显示它被证明是棘手的。所有数据都进入一个css样式表(非常好),但是我想为这个附加属性创建一个换行符并显示在单元格内的第二行,但让所有其他记录的单元格保持一行.

你可以在这里看到我正在尝试做的事情:

function BuildContactHTML(contactName,contactNumber,contactSE){

// Check to see if their is a "type" attribute in the name field
if ((contactType) != undefined){
    contactTypeHTML = "<br /><span class="sub">(" + contactType + ")</span>";
}
else
{
    contactTypeHTML = "";
}

// Build HTML string and return
output = '';
output += '<tr>';
output += '<td class="left">'+ contactName + contactType +'</td>';
output += '<td class="phone">'+ contactNumber +'</td>';
output += '</tr>';
return output;
}

在“contactTypeHTML =”行中,我想添加一个换行符,然后用 css 设置文本样式,然后关闭单元格,因此我有效地获得了名称下的属性,以跨度类“sub”正在处理的较小类型。如果我将这些标签放在输出字符串中,它会为所有记录创建第二行,但我只是希望它影响实际具有属性的记录,其余的根本没有文本。

任何帮助将不胜感激!再说一次,我很新,所以请保持简单。我的印象是我在这里遇到了语法问题。

4

1 回答 1

1

undefined 应该是一个字符串值,并且你需要在contactType周围加上typeof操作符

if (typeof(contactType) != "undefined"){}

typeof()运算符返回一个字符串值,因此您需要将其与字符串进行比较。

您的代码正在检查 contactType 是否不等于一个不存在的对象,因此它将始终返回 true,因为它是双重否定的。

您还需要在此行上使用单引号和双引号,而不仅仅是双引号。您需要将双引号放在单引号内的“sub”周围。

contactTypeHTML = '<br /><span class="sub">(' + contactType + ')</span>';
于 2012-05-06T13:42:49.327 回答