2012-05-06 23 views
0

jquery很新颖。我有一个简单的XML文件,我正在阅读并在html页面中很好地显示。然而,我在xml中的一条记录有一个其他属性都没有的属性。尽管所有人都有姓名和号码,但他们都有姓名,姓名类型和号码。在HTML中包含html/css = jquery中的语句

我能读这个数据很好,但显示它被证明是非常棘手。所有的数据都进入了一个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的文本,然后关闭该单元,I获取名称下的属性,使用span类“sub”处理的较小类型。如果我将这些标签放在输出字符串中,它会为所有记录创建第二行,但我只是希望它影响实际上具有属性的记录,其余都没有文本。

任何帮助将不胜感激!再次,我很新,所以请保持简单。我觉得我只是在这里有一个语法问题。

+0

你可以发布表格的最终HTML,也许用一个屏幕截图显示它在浏览器中的样子吗? –

+0

我太新,发布图片,该网站不会让我! – mystiko

回答

1

未定义应该是一个字符串值,你需要大约contactType

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

的typeof()运算符返回一个字符串值,typeof操作符,所以你需要把它比作一个字符串。

您的代码检查,如果contactType不等于对象不存在,所以它是一个双重否定,这将始终返回true。

您还需要在这条线上使用单引号和双引号,不只是增加一倍。你需要把双引号放在单引号内的“sub”。

contactTypeHTML = '<br /><span class="sub">(' + contactType + ')</span>'; 
+0

我想编辑我的代码,你在这里表示什么,但我得到同样的错误我一直,它说“失踪;语句之前”,并有指向“contactTypeHTML =”行if语句箭头在“与换行符标签之间。 我改编自一个样品撰文指出,没有工作的代码,但属性是在同一行的名称和仅仅满足于‘强’标签进行了大胆的。 – mystiko

+0

[ 'typeof'](https://developer.mozilla.org/en/JavaScript/Reference/Operators/typeof)是不** **的函数,它是操作者,类似于'void'和'+'。 –

+0

typeof运算接受一个参数,这不是一个函数吗?:typeof(“hello world”); –