Javascript - 在脚本位置插入元素
Javascript - Insert element at script position
如何在
脚本位置插入元素(不依赖于div 的 id 或类),例如
<div class="div">
<script src='//remotehost/js/addDivSayHello.js'></script>
</div>
其中addDivSayHello.js
将插入div 子<div>hello</div>
,结果示例:
<div class="div">
<div>hello</div>
<script src='//remotehost/js/addDivSayHello.js'></script>
</div>
我尝试在Stackoverflow中搜索,但一无所获。
您可以使用
insertBefore
方法。像这样:
var div = document.createElement('div'), // Create a new div
script = document.scripts[document.scripts.length - 1]; // A reference to the currently running script
div.innerHTML = 'Hello'; // Add some content to the newly-created div
script.parentElement.insertBefore(div, script); // Add the newly-created div to the page
jsFiddle的现场演示。请注意,您也可以使用外部脚本。
您可以使用 insertAdjacentHTML: https://developer.mozilla.org/en-US/docs/Web/API/Element.insertAdjacentHTML
var node = document.querySelector('script[src="js/addDivSayHello.js"]');
node.insertAdjacentHTML('beforebegin', '<div>hello</div>');
$("div.div").prepend('<div>hello</div>');
您必须在某个时候调用脚本我喜欢使用jQuery添加一个元素 http://api.jquery.com/append/你必须说你想在哪里添加:
$(".div")
以及那里应该发生什么:
.append("<div>Hello</div>")
所以它看起来像这样:
$(".div").append("<div>Hello</div>")
另一种解决方案,它不会将所有内容包装在div 中,并且可以多次重复使用而不会产生任何影响:
function insertHtmlToDocumentAtCurrentScriptPosition(htmlStr)
{
var scriptTag = document.getElementsByTagName('script');
scriptTag = scriptTag[scriptTag.length - 1];
var parentTag = scriptTag.parentNode;
parentTag.innerHTML += htmlStr;
}
该函数将 html 作为字符串,因此可以这样调用它:
insertHtmlToDocumentAtCurrentScriptPosition(`<p>Hello</p>`);
相关文章:
- jQuery/Javascript在内容可编辑的当前段落后插入元素
- 尝试在元素之前插入元素的结果
- 使用java脚本在html中插入元素
- ()插入元素,然后将其取回
- 在子字符串前后插入元素
- 将语法代码插入“
”元素时,ckeditor 会自动关闭标记
- D3.js - 根据当前基准面追加或插入元素
- 初学者 - 尝试让 jQuery 插入元素
- 在插入元素后在 ckeditor 中创建书签 2
- Javascript - 在脚本位置插入元素
- JavaScript 在执行点插入元素
- 通过javascript插入元素,而不会丢失jquery移动样式页面
- 使用jQuery设置插入元素的动画
- Mongoose如何在现有对象(MongoDB和Node.js)上插入元素
- jquery自动完成具有未知id的动态插入元素
- 在停止元素的同时插入元素的确认行为'的其他事件处理程序
- 动态插入元素的CSS
- 使用jQuery在祖先和后代之间插入元素
- 如何在ember js中插入元素后获得通知
- 在第n个位置插入元素