尝试将类添加到变量然后将其附加到另一个div时,我遇到了一些问题。当我这样做时,文本出现但没有我试图添加到它的类。我正在用jQuery做这一切。
这是代码:
var names = $(this).attr('name');
var description = $(this).attr('description');
var url = $(this).attr('url');
$(names).addClass("nam");
$(div1).append( names + " " + description + " " + url);
});
我想我做错了什么但看不到哪里。
答案 0 :(得分:1)
您正在为name
创建一个jQuery包装器并为其添加一个类,但之后您将附加前一个字符串引用而不是添加该类的jQuery包装器。
此外,您无法将类添加到文本节点,因此请尝试使用span元素包装它(如果name
不是像<span>some name</span>
这样的html内容
var names = $('<span />', {
text : $(this).attr('name'),
'class' : 'nam'
})
var description = $(this).attr('description');
var url = $(this).attr('url');
$(div1).append( names).append( " " + description + " " + url);
});
答案 1 :(得分:0)
首先,我假设我们正在使用您在操作注释中提供的格式的xml字符串。注意 - 我确实更正了字符串的语法以删除无关的半冒号。
var xmlstring = '<Blogs> <blog name="number1" description="1" url=" 1.com/"/> <blog name="number2" description="2" url="2.com/"/> <blog name="number3" description="3" url="3.com;" />" </Blogs>'
现在我们可以按预期将这个字符串解析为jQuery对象,并且大部分按预期使用:
var $doc = $($.parseXML(xmlstring));
我假设您的原始示例中this
博客引用了其中一个子博客,所以我将以我的例子说:
var $this = $doc.find("blog:eq(2)");//the blog name=number3 in your example
//OR
var $this = $(this);//useful so we dont keep rewrapping
好的,现在我们有了我们的博客($this
),我们可以将内容附加到div1
,如下所示:
var names = $("<span>", {text:$this.attr('name'), 'class': 'nam'});
var description = $this.attr('description');
var url = $this.attr('url');
$(div1).append( names, description + " " + url);//as names is a span element
我在空div上测试了它,它产生了以下outerhtml:
"<div><span class="nam">number3</span>3 3.com;</div>"
希望这有所帮助,我试图解释一些步骤,因为我不确定你所做的事情在哪里偏离。