gpt4 book ai didi

javascript - 如果我在 div 中有一个脚本,我如何获得该特定 div 的 ID?

转载 作者:行者123 更新时间:2023-11-30 10:28:34 26 4
gpt4 key购买 nike

如果我在一个 div 中有一个脚本,我如何获得那个特定 div 的 ID?
(这样我就可以像下面那样做,但使用不同的 div id):

<div id="chart_div1" class ="googlepie">
<script type="text/javascript">
drawChart('chart_div1');
</script>
</div>

[编辑]:
我有两个 html View ,当单击一个 View 的按钮时,将显示第二个 View 。
一些 javascript 重构 html 来执行此操作,我只希望图表显示在第二个 View 中,所以我有一个点击事件来处理这个。
但奇怪的是,我只能通过将调用 drawChart() 的脚本放在 div 本身中来在特定的 div(多次重复)中加载特定的图表,就像上面那样。出于这个原因,我无法像某些人建议的那样将脚本重新定位到更舒适的位置。此外,无论我尝试使用什么建议的方法来获取父 div“ID”,我都会不断收到“未定义的容器”错误。

例如这对我不起作用:

<div class ="googlepie" id="chart_div1" style ="position:absolute; top: -8%; left:63%;">
<script type="text/javascript" class ="chartscript" id="bakegooglepie">
// drawChart($('.chartscript').parent().attr('id')); // this didnt work
// drawChart($('#bakegooglepie').parent().attr('id')); // neither did this

// var parentElementID = $(document.body.lastChild).closest('div').id;
// drawChart(parentElementID); // this didnt either

drawChart('chart_div1'); // only this did
</script>

出于这个原因,我的(特定)解决方案是构造 id 并在 drawChart 中专门调用它们,而不是使用 javascript 获取 id。
但是,我选择的原始问题的答案是其他人似乎都为之工作的答案,因此也应该为其他人工作。

注意:正如其他人在大多数情况下所建议的那样,您不需要像我的问题所假设的那样获取 parent ID。

最佳答案

试试这个(jQuery):

<div id="chart_div1" class ="googlepie" style ="position:absolute; top: -4%; left:68%;">
<script type="text/javascript">
var parentElement = $(document.body.lastChild).closest('div');
drawChart(parentElement);
</script>
</div>

或者这个(基本的 JavaScript):

<div id="chart_div1" class ="googlepie" style ="position:absolute; top: -4%; left:68%;">
<script type="text/javascript">
var scriptTag = document.scripts[document.scripts.length - 1];
var parentTag = scriptTag.parentNode;
drawChart(parentTag.id);
</script>
</div>

查看此处了解更多详情:how to select parent of <script> element

虽然这回答了您关于如何实现它的问题,但我认为这不是最好的方法。您应该将 JavaScript 代码放在 HTML 文档的末尾,并使用适当的选择器来定位您的元素。

干杯!

关于javascript - 如果我在 div 中有一个脚本,我如何获得该特定 div 的 ID? <br>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18305639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com