![](/img/trans.png)
[英]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.