编辑我的标题如果它很臭,我很难为我的问题找到一个好的标题。
我基本上是在拿这样的字符串
See Good-By
并将每个单词转换成一个链接并放回一个字符串。结果看起来像
<a href"#">See</a> <a href="#">Good-by</a>
我的代码运行得很好,只是出于某种原因,第一个值总是以未定义的形式返回,但它可以很好地捕获字符串中的所有单词。因此,在这种情况下,应该有2个循环,因为只有2个单词,但它循环了3次,第一个没有定义。
HTML
<span class="definition">See Good-by</span>
查询
$('.definition').each( function(p) {
var c;
var result = $(this).text().split(' ');
$.each(result, function(i) {
if (result[i] != '') {
var link = ' <a href="/dictionary/word/' + result[i] + '/">' + result[i] + '</a>';
c += link;
}
})
$(this).html(c);
})
所以结果是
undefined See good-by.
See和Good by是链接,undefined
只是文本。不知道发生了什么。
初始化c = ''
,这是代码中的问题。否则,c的值将为undefined
。这就是你作为undefined
得到的。已附加代码段。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
$('.definition').each(function (p) {
var c = '';
var result = $(this).text().split(' ');
$.each(result, function (i) {
if (result[i] != '') {
var link = ' <a href="/dictionary/word/' + result[i] + '/">' + result[i] + '</a>';
c += link;
}
})
$(this).html(c);
});
});
</script>
</head>
<body>
<span class="definition">See Good-by</span>
</body>
</html>