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