javascript - 想改变里面的字,尝试用jq的.text(),却无法办到
PHP中文网
PHP中文网 2017-04-11 10:02:28
0
6
216

<p class="aa">
    111
    <p class="bb">222</p>
</p>
<script>
$(".aa").not(".bb").text('3333')
</script>

我现在是想把里面的111改成333,用了上述jq方法后,
结果是333,但是里面的222没有被保留。求教该怎么办呢?

PHP中文网
PHP中文网

认证0级讲师

모든 응답(6)
阿神

大概是这样子的

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script src="https://cdn.staticfile.org/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
  <p class="aa">
    111
    <p class="bb">222</p>
    <p class="cc">555</p>
</p>
<script>
var nodes = $(".aa >p"); //缓存节点
$(".aa").text('3333').prepend(nodes); //修改后再添加回去
</script>
</body>
</html>
巴扎黑

你这个还真不好更改,获取的话还可以好说,更改的话不好改,这个最主要的是你的布局要合理,为什么不在“111”用一个span包裹起来,这样不是更合理一些,也更加的方便对DOM元素的操作,一般来说有嵌套的文本都用一个标签包裹起来,比如说span

阿神
$(".aa").html('3333'+$(".bb")[0].outerHTML)
Peter_Zhu

用原生的写法比较方便,取第一个text节点;

$('.aa')[0].childNodes[0].nodeValue = "333";
巴扎黑

$(“.aaa”).text(“333<p class=“bbb”>222</p>”)

PHPzhong

111在js里是个变量吧?如果这种单纯上页面里找文字然后替换,非常困难。建议直接去js里找对应变量,在js里直接改比较好。另外就是楼上说的多加一个span什么的,但是谁会没事放段文字在页面上,又需要改动而且在js中没有对应的变量?

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!