也许我在https://stackoverflow.com/posts/20577488/中过度简化了我的问题 我遗漏了一个重要的中间步骤。 我想:
然后追加
var x = "<p>Test</p><p>Test</p><p>Test</p><p>Test</p><p>Test</p><p>Test</p> ";
var template = $(x);
template.find('p').attr('class','something');
template.appendTo( ".inner" );
答案 0 :(得分:4)
您需要使用filter
代替find
。您要查找的是根级别,因此您需要使用filter
,因为find
将查找位于根级别的p
的后代。除非你想删除现有的类,否则你可以使用addClass来添加一个类。
var x = "<p>Test</p><p>Test</p><p>Test</p><p>Test</p><p>Test</p><p>Test</p><p>Test</p>";
var template = $(x)
template.filter('p').attr('class','something');
//Or you can use
//template.filter('p').addClass('something');
template.appendTo( ".inner" );
<强> Demo 强>