如何在追加之前修改html字符串中的元素

时间:2013-12-13 23:16:28

标签: jquery string selector

也许我在https://stackoverflow.com/posts/20577488/中过度简化了我的问题 我遗漏了一个重要的中间步骤。 我想:

  • 创建一个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" );   
    

1 个答案:

答案 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