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;
}