我可以将字符串转换为 html 对象吗?喜欢:
string s = '<div id="myDiv"></div>';
var htmlObject = s.toHtmlObject;
这样我以后就可以通过 id 获取它并对其样式进行一些更改
var ho = document.getElementById("myDiv").style.marginTop = something;
提前一百万,莉娜
我可以将字符串转换为 html 对象吗?喜欢:
string s = '<div id="myDiv"></div>';
var htmlObject = s.toHtmlObject;
这样我以后就可以通过 id 获取它并对其样式进行一些更改
var ho = document.getElementById("myDiv").style.marginTop = something;
提前一百万,莉娜
var s = '<div id="myDiv"></div>';
var htmlObject = document.createElement('div');
htmlObject.innerHTML = s;
htmlObject.getElementById("myDiv").style.marginTop = something;
你不能只用方法来做到这一点,除非你使用一些支持它的 javascript 框架,比如 jquery ..
string s = '<div id="myDiv"></div>'
var htmlObject = $(s); // jquery call
但是,它仍然不会被 找到,getElementById
因为要使其工作,元素必须在 DOM 中……只是在内存中创建不会将它插入到 DOM 中。
您需要先使用append
或appendTo
或after
等将其放入 dom 中..
当然,所有这些都可以通过常规的 javascript 来完成,但是完成同样的事情需要更多的步骤......并且在这两种情况下逻辑是相同的......
有同样的问题。我使用了这样一个肮脏的技巧:
var s = '<div id="myDiv"></div>';
var temp = document.createElement('div');
temp.innerHTML = s;
var htmlObject = temp.firstChild;
现在,您可以按照自己喜欢的方式添加样式:
htmlObject.style.marginTop = something;
除了Gaby aka的方法,我们还可以htmlObject
通过这种方式找到里面的元素——
htmlObj.find("#box").html();
小提琴在这里可用 - http://jsfiddle.net/ashwyn/76gL3/
如果您打算使用的浏览器是 Mozilla(插件开发)(不确定 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"));
};
希望这可以帮助