有一个字符串如下" 100200300400500"。 我试图将它分成3个子集,如" 100" " 200" " 300" " 400" " 500&#34 ;. 我希望它们按顺序用作子元素的鼠标悬停标题/工具提示。 那就是当你将鼠标悬停在第一个孩子上时,工具提示应该说100,当你将鼠标悬停在第二个孩子上时,工具提示应该说200,依此类推。 结果= 100200300400500 和str =结果字符串
的长度为3的子字符串以下是我迄今取得的成就。但是所有子div上的工具提示都是100。 我做错了什么?
$.ajax({
url: "https://dl.dropboxusercontent.com/u/47127613/ajax.txt",
dataType: "text",
success: function(result) {
var str = result;
if (str.length > 3) str = str.substring(0, 3); {
for (var n = 1; n < 100; n++) {
$("#parent:nth-child(n)").children().attr('title', str + ' Installs');
for (var i = 0; i < 100; i++) {
str(i) = str(i + 3);
}
}
}
}
});
HTML
<div id="parent">
<div class="child1"></div>
<div class="child2"></div>
<div class="child3"></div>
<div class="child4"></div>
<div class="child5"></div>
</div>
答案 0 :(得分:1)
您可以尝试使用此代码段进行拆分。这就是你需要的吗?
var r = [], str = "100200300400500";
// you may want to check for appropriate str.length
// if (str.length % 3 != 0) { ... }
str.split('')
.map(function (v, i, arr) {
void(i && (i % 3 == 0 || i == arr.length-1)
? this.push(
i == arr.length -1 ? arr.slice(-3)
: arr.slice(i-3, i))
: null);
return v;
}, r);
document.querySelector('#result').innerHTML =
r.map( function (v) {return v.join('')}).join('<br>');
&#13;
<div id="result"></div>
&#13;
答案 1 :(得分:0)
n
的值不会被解释为字符串中的值。您的选择器应如下所示:$("#parent:nth-child(" + n + ")")
答案 2 :(得分:0)
您应循环遍历div
元素并分配title
属性。
var str = '100200300400500';
// Initialize the counter
var c = 0;
// Loop through all 'div's that are direct child of '#parent'
$('#parent > div').each(function() {
// Assign the 'title' attribute to the current 'div'($(this)).
// The 'str.substring(c, c + 3)' will extract a sub string from
// the current index(c) till 3 more indexes(c + 3).
$(this).attr('title', str.substring(c, c + 3) + ' Installs');
// Increment the counter by 3.
c += 3;
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="parent">
<div class="child1">One</div>
<div class="child2">Two</div>
<div class="child3">Three</div>
<div class="child4">Four</div>
<div class="child5">Five</div>
</div>
&#13;
答案 3 :(得分:-1)
要访问Array单元格,您应该写:
str[i]; //not str(i)