【发布时间】:2018-11-14 23:39:13
【问题描述】:
怎么做? 我知道有解决方案,但我想知道 jQuery 是否提供了一个 jQuery only 解决方案,没有原生 Javascript 函数来执行以下操作。
什么? 假设我们有以下 HTML,并且我们想用“testDiv”类更改 div 的文本。我知道这是不好的 HTML,因为在另一个 HTML 标记中有一个 HTML 标记和纯文本。
setTimeout(function() {
$('.testDiv')[0].childNodes[1].nodeValue = "1"
}, 500);
setTimeout(function() {
$('.testDiv')[0].childNodes[1].data = '2'
}, 900);
setTimeout(function() {
var $el = $('.testDiv'),
$preStuff = $el.find('span').clone(true);
$el.text('3').prepend($preStuff);
}, 1300);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="testDiv"><span>I like it </span> Hello World </div>
你有没有找到没有原生 Javascript 函数的方法?
这不能通过仅使用 jQuery 函数来完成,因为它是一个节点,我说得对吗? jQuery 没有内置函数吗?
【问题讨论】:
-
不,jQuery 没有内置任何东西来做到这一点。
-
jQuery 是一个 JavaScript 库。这一切都在引擎盖下使用了本机 javascript。我不确定你在问什么。
-
为什么不将文本包装在 span 中,给它“id”或“class”,然后在 vanilla/jquery 中做呢?
-
为什么不
$(".testDiv").html($(".testDiv span").clone().html() + " text");
标签: javascript jquery html