答案 0 :(得分:1)
您可以使用nodeType
执行此类操作。然后,您可以使用textContent
属性更改值。
对于文本节点,nodeType属性将返回3.
//set new value
elements = $('.par').contents().filter(function() {
return this.nodeType == 3;
});
elements[0].textContent = 'New text ';
elements[1].textContent = 'New text 1 ';
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<p class='par'>some text goes here <a class='link' href='#somelink'>Link</a> Text continues here</p>
答案 1 :(得分:1)
您也可以这样做
$('p').contents().map(function() {
if (this.nodeType == 3) this.textContent = 'New Text';
if (this.nodeType == 1 && this.nodeName == 'A') this.textContent = 'New Link Text';
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class='par'>some text goes here <a class='link' href='#somelink'>Link</a> Text continues here</p>
&#13;
答案 2 :(得分:0)
您可以尝试以下脚本:
$(document).ready(function () {
var hrefTag = $('a').attr('href');
var ClassTag = $('a').attr('class');
$('p').html('<a class="' + ClassTag + '" href="' + hrefTag + '">Link</a>');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class='par'>some text goes here <a class='link' href='#somelink'>Link</a> Text continues here</p>
&#13;
希望它对你有所帮助。
答案 3 :(得分:0)
这是你想要的吗?
var p =document.getElementsByTagName('p')[0]
var a =p.getElementsByTagName('a')[0];
p.innerHTML='';
p.appendChild(a);
答案 4 :(得分:0)
希望此代码段有用
var cache = $('.par a'); // will select a inside .par
var _lastText = " this is last part";
$('.par').empty(); // Will empty p tag
$('.par').text('new text ');
$('.par').append(cache);
$('.link').text('new link text');
$('.par').append(_lastText)
答案 5 :(得分:0)
您可以拆分<a>
代码并更改“p”内和“a”外的文字位置
$(".par").html($(".par").html().replace($(".par").html().split('<a')[0], 'new first part text'));
$(".par").html($(".par").html().replace($(".par").html().split('/a>')[( $(".par").html().split('/a>').length - 1)], 'new continue text'));