使用Javascript更改div中的文本

时间:2018-06-07 07:20:39

标签: javascript

我有这段代码:

<div>Text: <a href="#">Fly London</a></div>

我想用JS更改文本“Text:”,所以我使用了这个:

<script>
     $(document).ready(function(){ 
          $('.p-detail-info > div:contains("Text:")').text('Another text:');
     });
</script>

但如果我这样做,网址就会消失。如果我想保留URL,如何更改?

谢谢!

3 个答案:

答案 0 :(得分:2)

您也可以通过添加span标记并更改范围标记文本

来完成此操作

&#13;
&#13;
$(document).ready(function(){ 
$('.p-detail-info > div > span:contains("Text:")').text('Another text:');});
&#13;
   





 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>

<div class="p-detail-info">
<div><span>Text:</span> <a href="#">Fly London</a></div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您将不得不选择文本节点,遗憾的是,单独使用选择器是不可能的。选择父div,获取它的第一个childNode(这是我们想要的文本节点),然后分配给文本节点的textContent,不需要jQuery:

document.querySelector('div').childNodes[0].textContent = 'Another Text';
<div>Text: <a href="#">Fly London</a></div>

答案 2 :(得分:1)

以下内容可以正常更改文字:

<script>$(document).ready(function(){$('.p-detail-info > div').text('Another text:');});<script>

干杯, 快乐的编码。