我希望使用Jquery追加将文本附加到预先存在的div元素。我还想要几个元素'模板'并在这些元素中添加更多文本(请参阅代码段。)
var template = { template1: "<p class='someclass'></p>" },
o = $('.divClass');
o.append(template.template1); // Append text inside P tag
答案 0 :(得分:0)
不将p元素存储为字符串,而是将其存储为元素。如果已经创建,请使用getElementByID()或getElementByClassName(),如果您现在正在创建它,请使用
var myPElement = document.createElement("p");
然后,您可以自由更改或附加到myPElement包含的文本。
myPElement.innerHTML = "set text equal to this";
myPElement.innerHTML += "append this";
答案 1 :(得分:0)
你可能想尝试这样的事情:
var template = { template1: $("<p class='someclass'></p>") },
o = $('.divClass');
// Set template and append to container
var currentTemplate = template.template1;
o.append(currentTemplate);
// Get current text and append content to the end
var textNode = currentTemplate.text() + "Append Content";
currentTemplate.text(textNode);
基本上,我将段落创建为自己的节点而不是文本字符串,因此我可以更灵活地修改元素。我通常会等待将元素附加到我的容器,直到我完成修改后,但它会以任何方式工作。
如果您不需要附加到那里的内容,也可以跳过获取当前文本。根据您的其他注释,您将遍历底部,选择对象中的每个模板和文本节点,然后将其附加到容器中。