查找JavaScript正在运行的标记
在后端生成HTML源代码时,我使用单独的独立小部件 我只是将这样的标记片段包含到结果HTML输出中查找JavaScript正在运行的标记,javascript,html,Javascript,Html,在后端生成HTML源代码时,我使用单独的独立小部件 我只是将这样的标记片段包含到结果HTML输出中 <div> I want to work with this DOM element <script> new Obj(/*but I can't get this <div> as a parameter! */); </script> </div> 我想使用这个DOM元素 新的
<div>
I want to work with this DOM element
<script>
new Obj(/*but I can't get this <div> as a parameter! */);
</script>
</div>
我想使用这个DOM元素
新的Obj(/*但我不能将其作为参数!*/);
我正在寻找一种方法来查找创建
obj
的DOM元素(没有任何唯一ID)。这将为我的应用程序增加灵活性并加快开发速度。但是在JavaScript中这在技术上是可能的吗?您可以在其中植入一个元素,然后获取它的父元素,然后删除该元素
<div>
I want to work with this DOM element
<script>
document.write("<div id='UniqueGUID_3477zZ7786_' style='display:none;'></div>");
var thatDivYouWanted;
(function(){
var target = document.getElementById("UniqueGUID_3477zZ7786_");
thatDivYouWanted = target.parentNode;
target.parentNode.removeChild(target);
})();
new Obj(/*but I can't get this <div> as a parameter! */);
</script>
</div>
我想使用这个DOM元素
文件。填写(“”);
你想要什么;
(功能(){
var target=document.getElementById(“UniqueGUID_3477zZ7786”);
ThatDivYouwant=target.parentNode;
target.parentNode.removeChild(目标);
})();
新的Obj(/*但我不能将其作为参数!*/);
如果您事先知道页面的结构,您可以使用以下示例:
document.getElementsByTagName("div")[4]
要访问第5部分,请使用以下代码:
功能Obj(颜色){
var scriptTags=document.getElementsByTagName(“脚本”);
var scriptTag=scriptTags[scriptTags.length-1];
//找父母或做任何事
var divTag=scriptTag.parentNode;
divTag.style.backgroundColor=颜色;
}
我想使用这个DOM元素
新Obj(“绿色”);
我想使用这个DOM元素
新Obj(“黄色”);
我想使用这个DOM元素
新Obj(“石灰”);
我认为你的方法并不理想。如果您试图获取
,则应使用JavaScript和API以编程方式完成,使您能够查询目标
您可以在单独的作用域中以受控方式执行(DOM就绪,然后查询,然后是您的方法),而不是内联执行。您可以使用ID、CSS类名或JavaScript中的任何其他CSS选择器来定位div
这使您几乎可以在任何地方执行以下操作,而不是内联操作
// on dom ready...
var div = document.getElementById('myDiv'), // replace with any other selector method
myObject = new Object(div);
需要找到你的div吗 如果要在后端生成脚本,请为
分配一个唯一的id
,并在生成脚本时将相同id传递到
标记中的任何代码中。而不是将脚本放在div中,为什么不让脚本生成div,然后您就可以立即访问它呢?在windowdom下,所有内容都遵循xml节点结构,因此您可以交替查找父节点及其属性。在本例中,对于封闭的div.Guys,具有唯一ID的解决方案非常好,我只是想知道如何使代码尽可能简单possible@user711819:老实说,我第一次听说JavaScript中的parentXML
方法。你能给我看看代码吗?如何从正在运行的脚本中访问父DOM元素?这是一个相当不错的解决方案+1破解,但可以完成这项工作。是的,我的方法并不完美,但它允许将代码划分为独立的块,这些块非常独立,互不了解。您可以使用函数将代码划分为这样的块。请记住,内联javascript代码是随着HTML的解释一起执行的,因此在前一个div中的代码完全执行之前,不会向用户显示下一个div。