将 javascript 字符串转换为 html 对象

我可以把字符串转换成 html 对象吗? 例如:

string s = '<div id="myDiv"></div>';
var htmlObject = s.toHtmlObject;

这样以后我就可以通过 id 得到它,并在它的风格上做一些改变

var ho = document.getElementById("myDiv").style.marginTop = something;

预付一百万谢谢, 莉娜

512529 次浏览

你不能只用方法来做,除非你使用一些像 jquery 这样的 javascript 框架来支持它。

string s = '<div id="myDiv"></div>'
var htmlObject = $(s); // jquery call

但是,它仍然不会被 getElementById找到,因为要使它工作,元素必须在 DOM 中... ... 只是在内存中创建并不会将它插入 DOM 中。

你需要使用 append或者 appendTo或者 after等等来首先把它放进去。

Of'course all these can be done through regular javascript but it would take more steps to accomplish the same thing... and the logic is the same in both cases..

var s = '<div id="myDiv"></div>';
var htmlObject = document.createElement('div');
htmlObject.innerHTML = s;
htmlObject.getElementById("myDiv").style.marginTop = something;

除了 Gaby aka 的方法之外,我们还可以用这种方法在 htmlObject中找到元素-

htmlObj.find("#box").html();

Fiddle is available here - http://jsfiddle.net/ashwyn/76gL3/

如果您计划使用的浏览器是 Mozilla (Addon development)(不确定是否使用 chrome) ,那么您可以在 Javascript 中使用以下方法

function DOM( string )
{
var {Cc, Ci} = require("chrome");
var parser = Cc["@mozilla.org/xmlextras/domparser;1"].createInstance(Ci.nsIDOMParser);
console.log("PARSING OF DOM COMPLETED ...");
return (parser.parseFromString(string, "text/html"));
};

希望这个能帮上忙

我也有同样的问题,我用了这样一个肮脏的伎俩:

var s = '<div id="myDiv"></div>';
var temp = document.createElement('div');
temp.innerHTML = s;
var htmlObject = temp.firstChild;

现在,您可以按照自己喜欢的方式添加样式:

htmlObject.style.marginTop = something;