【发布时间】:2015-01-08 13:23:19
【问题描述】:
我在使用 javascript/jquery 对从 div 检索到的文本进行切片时遇到问题。我以为你可以对每个字符串进行切片,并且 .text() 函数总是返回一个字符串,所以我看不到问题所在。任何帮助将不胜感激!
HTML:
<body>
<div class="vaknaam">Div 1 :<span class="totaal">55%</span>
</div>
<div class="vaknaam">Div 2 :<span class="totaal">60%</span>
</div>
<div class="vaknaam">Div 3 :<span class="totaal">64%</span>
</div>
<div class="vaknaam">Div 4 :<span class="totaal">76%</span>
</div>
<div class="vaknaam">Div 5 :<span class="totaal">63%</span>
</div>
</body>
Javascript:
$(function () {
var divs = {};
var tempString, vakken = {};
$('.vaknaam').each(function (key, value) {
tempString = $(value).contents().filter(function () {
return this.nodeType == 3;
}).text();
tempString = tempString.slice(0, - 2);
vakken[tempString] = $(value).children('span').text();
});
for (var property in vakken) {
$('body').append("<p>" + property + "</p>");
}
});
【问题讨论】:
-
您忽略了
.slice()调用的返回值。 -
我会把它链接到
.text()的末尾...所以...text().slice(0, -2) -
请注意,如果您发布 working(至少在您遇到问题的地方)代码,您的问题会更容易理解。在您的小提琴中,您不包含 jQuery 并且未定义
vakken。这些事情让你更难解决实际问题。 -
...哦,如果您想摆脱
:,您还需要$.trim()文本。您实际上并没有告诉我们预期的输出是什么。 -
我修好了小提琴。我很抱歉我的错误。我正在过滤文本节点,因为它实际上是:我希望摆脱。
标签: javascript jquery string slice