Javascript 尝试在现有分区之前添加文本
我已经在这里阅读了大量的问题/答案,但就是不知道如何编辑它们以使其适合我 我有一个Javascript 尝试在现有分区之前添加文本,javascript,jquery,insert,Javascript,Jquery,Insert,我已经在这里阅读了大量的问题/答案,但就是不知道如何编辑它们以使其适合我 我有一个,我想在它前面添加一些文本。下面是一些示例,我尝试: <script type="text/javascript"> var parent =document.getElementById('privacy') var text=document.createTextNode('<div id="tollfree" style="left:750px;position:absolute;t
,我想在它前面添加一些文本。下面是一些示例,我尝试:
<script type="text/javascript">
var parent =document.getElementById('privacy')
var text=document.createTextNode('<div id="tollfree" style="left:750px;position:absolute;top:7px;font-size:18px;line-height:14px;"><strong>US Toll FREE: 1-888-555-1212<br><span style="font-size:12px;"> Promo Code "NAME"</span></strong></div>');
parent.insertBefore(text, parent);
</script>
var parent=document.getElementById('隐私')
var text=document.createTextNode(“美国免费电话:1-888-555-1212
促销代码“NAME””);
parent.insertBefore(文本,parent);
但是什么也没有出现。我真的对javascript或jquery一无所知,所以我不确定我应该把什么放在哪里,比如我应该把我想要添加的代码放在createTextNode之后吗?太困惑了。它怎么能做到这一点呢 那么你应该使用不同的方法。因为它只创建文本节点。因为您已经标记了jQuery,所以我假设您正在使用它,在这种情况下,您可以执行以下操作:
$('<your-html/>').insertBefore('#privacy');
$(“”).insertBefore(“#隐私”);
关于在函数之前插入
<div id="privacy">
...
</div>
使用jQuery,您可以执行以下操作
var $node = $('<div id="tollfree" style="left:750px;position:absolute;top:7px;font-size:18px;line-height:14px;"><strong>US Toll FREE: 1-888-555-1212<br><span style="font-size:12px;"> Promo Code "NAME"</span></strong></div>');
$node.insertBefore($('#privacy'));
var$node=$('美国免费电话:1-888-555-1212
促销代码“NAME”);
$node.insertBefore($(“#隐私”);
您可以这样做:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<style>
#tollfree{
left:750px;
position:absolute;
top:7px;
font-size:18px;
line-height:14px;
}
</style>
</head>
<body>
<div id="privacy">This is pivate</div>
<script type="text/javascript">
var parent =document.getElementById('privacy'),
textDiv = document.createElement('div');
textDiv.innerHTML = '<strong>US Toll FREE: 1-888-555-1212<br><span style="font-size:12px;"> Promo Code "NAME"</span></strong>'
textDiv.setAttribute('id', 'tollfree');
parent.insertBefore(textDiv, parent.firstChild);
</script>
</body>
</html>
#免费收费{
左:750px;
位置:绝对位置;
顶部:7px;
字号:18px;
线高:14px;
}
这是皮瓦特
var parent=document.getElementById('privacy'),
textDiv=document.createElement('div');
textDiv.innerHTML='美国免费电话:1-888-555-1212
促销代码“NAME”'
setAttribute('id','tollfree');
parent.insertBefore(textDiv,parent.firstChild);
你也应该尝试避免内联CSS(就像我已经用div)一样,如果你必须这样做不止一次或两次,考虑使用模板代替。
< p>前面的代码< >插入> Work是你需要在容器元素上调用它,但是它也要传递一个引用元素来插入之前,哪一个是您的div
,带有id
“隐私”。我使用innerHTML
为要插入的新div
附加所需的标记
var parent = document.getElementById('container');
var reference = document.getElementById('privacy');
var text = document.createElement('div');
text.id = 'tollfree';
parent.insertBefore(text, reference);
document.getElementById('tollfree').innerHTML = '<strong>US Toll FREE: 1-888-555-1212<br><span> Promo Code "NAME"</span></strong>';
JSFiddle:是什么让你认为你可以在一个创建textNode的方法中插入一个HTML字符串并获取一些信息?你在页面的什么地方触发这个javascript?因为您必须确保将脚本标记放在页面底部。或者使用检查查看文档是否已加载。否则,可能是在初始化隐私div之前触发了代码。也可以使用“createElement”函数来创建html元素您已经有了答案,但使用javascript实现这一点的正确方法是构建标记,然后将其连接在一起并插入,就像谢谢!成功了。我有一种感觉,我把它弄得太复杂了,因为我找到的所有例子都是针对更复杂的事情,而不是仅仅添加文本!
var parent = document.getElementById('container');
var reference = document.getElementById('privacy');
var text = document.createElement('div');
text.id = 'tollfree';
parent.insertBefore(text, reference);
document.getElementById('tollfree').innerHTML = '<strong>US Toll FREE: 1-888-555-1212<br><span> Promo Code "NAME"</span></strong>';
#tollfree {
left:750px;
position:absolute;
top:7px;
font-size:18px;
line-height:14px;
}
#tollfree span {
font-size:12px;
}