在 Jupyter Notebook 中,我们可以使用一些神奇的功能快捷方式,如下所示:
%%javascript
element.text('Hi')
这将按预期在当前单元格中输出。 (如果我没有记错的话,这里的 element
代表 jupyter Notebook 的 DOM 中的当前单元格)。
'Hi'
问题:有没有办法对 %%html
执行相同的操作?
我天真的尝试不起作用。
%%html
<script>element.text('Hi');</script>
请注意,这样的构造工作得很好。
%%html
<script>alert('Hi');</script>
我不太擅长 jQuery 和笔记本 DOM 结构,所以欢迎一些解释。我读了一些类似的问题,例如 16852885但未能找到相关的类似物。
最佳答案
据我所知,element
变量不能直接在 %%html
中使用细胞。访问element
变量,首先需要创建它。它应该是 <script>
的父级标签 %%html
细胞。获取 <script>
的简单方法tag就是给它一个ID。
如果不需要jquery,可以执行以下操作:
%%html
<script id="unique">
var element = document.getElementById('unique').parentElement;
element.innerHTML = "Hi";
</script>
如果你想使用jquery,你应该先加载它:
%%html
<script src="https://code.jquery.com/jquery-3.6.1.min.js"></script>
<script id="unique2">
var element = $('#unique2').parent();
element.text("Hi (jquery)")
</script>
关于jquery - 使用 Javascript 将 %%html 中的文本打印到 Jupyter 笔记本单元中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55085337/