[英]Show Elements when logging jQuery object in Chrome Dev Tools console?
[英]jQuery slice() Not Working Despite Chrome Dev Tools Console Verification
这是一个非常奇怪和简单的问题,我现在对FAR的关注时间比我承认的要长! 我的slice()函数不再起作用了。 我已经检查了十亿次语法。 它似乎一直在努力,这是最复杂的事实。
jQuery(document).ready(function($){
jQuery("h2.page_title").css('background','lime');
jQuery("h2.page_title").text().slice(2);
});
文件和功能运行正常,因此石灰背景。 但是,slice()将无法工作,甚至无法通过我的控制台进行更新。 我在DOM中定位的元素无关紧要。 我已经清除了缓存,重新启动了所有WAMP服务等等。我知道真正的解决方案是非常愚蠢的,所以如果你有什么可能导致这个的提示,那将非常感激。
使用slice
,原始字符串不会更改。 它只返回切片的字符串。 你应该自己做分配 -
var str = jQuery("h2.page_title").text().slice(2);
jQuery("h2.page_title").text(str);
或者在一行中 -
jQuery("h2.page_title").text(jQuery("h2.page_title").text().slice(2));
在我看来,jQuery slice()
实际上是一个误导性的名称,导致混淆,因为它与本机JavaScript切片并不完全相同(对于在此处使用它的字符串)。 jQuery slice返回一个jQuery对象,而不是一个字符串。
jQuery .slice()
属于“遍历和过滤”类别。
“将匹配元素集合减少到由一系列索引指定的子集。”
jQuery切片: https : //api.jquery.com/slice/
另一方面,本机字符串JavaScript .slice()
返回一个字符串
“...提取字符串的一部分并将其作为新字符串返回,而不修改原始字符串。”
jQuery("h2.page_title").text().slice(2);
返回从文本的索引2开始的字符串 - 您不对该字符串执行任何操作。
如果要切片前2个字符可以使用text(function)
返回结果。 这也将遍历任何选择器并为所有选择器执行特定于实例的切片
jQuery("h2.page_title") .css('background','lime') .text(function(_, currTxt) { return currTxt.slice(2); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <h2 class="page_title">First heading</h2> <h2 class="page_title">Second heading</h2>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.