2013-12-13 74 views
1

也许我简化了我的问题https://stackoverflow.com/posts/20577488/ 我忽略了一个重要的中间步骤。 我想:如何在添加之前修改html字符串中的元素

  • 创建一个JavaScript字符串X
  • 为x到jQuery对象
  • 这个对象上的jQuery的东西
  • 然后将其追加

    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"); 
    
    (右项?)

回答

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

+1

正确答案...... +1 – Sergio

+2

@Sergio感谢的人! – PSL

相关问题