尝试使用以下函数customizefields
将div附加到另一个div,但我没有成功。控制台没有返回任何错误,所以我不知道从哪里开始?
的javascript
function customizefields(objNames) {
$('td div').each(function(){
name = $(this).text();
if (name.indexOf(" ") != -1) {
name = name.substring(0, name.indexOf(" "));
}
if (objNames[name]) {
$('<div/>', {
id: 'bio',
text: objNames[name].bio
}).appendTo(this);
}
});
}
var namesToChange = {
'Ben':{'class':'pn_cool','bio':'some text for ben'},
'Andrew':{'class':'pn_bad','bio':'some text for andrew'}
};
setInterval(function(){customizefields(namesToChange)}, 1000);
HTML
<tr>
<td class="stxt2">
<img src="#" class="pic">
<div class="dtxt2" title="07/10/12 09:40 PM">40 mins ago</div>
<b class="nme pn_usr">Andrew</b>: Ut lacus sapien, pretium ut dictum eget, tempus ac nisi.
</td>
</tr>
<tr>
<td class="stxt">
<img src="#" class="pic">
<div class="dtxt" title="07/10/12 09:30 PM">30 mins ago</div>
<b class="nme pn_usr">Ben</b>: Cras vitae cursus lectus.
</td>
</tr>
<tr>
我想要实现的结果
<tr>
<td class="stxt">
<img src="#" class="pic">
<div id="bio">TEXT FROM OBJECT WILL GO HERE</div>
<div class="dtxt" title="07/10/12 09:30 PM">30 mins ago</div>
<b class="nme pn_usr">Ben</b>: Cras vitae cursus lectus.
</td>
</tr>
<tr>
答案 0 :(得分:0)
在我看来,您应该查看同级b
标记的文本内容,而不是目前的div
标记。
目前,例如,您的name
var(顺便说一下,全局)的值将为“40”,而对于下一次迭代,则为“30”。
大概是你的意思
$('td div').each(function() {
name = $(this).next('b').text();
//more code...
答案 1 :(得分:0)
你可以尝试使用JQuery api .before或.prepend