Javascript 附加到div的问题

Javascript 附加到div的问题,javascript,jquery,Javascript,Jquery,尝试使用以下函数将div附加到另一个divcustomizefields,但未成功。控制台没有返回任何错误,所以我不知道从这里到哪里去 javascript function customizefields(objNames) { $('td div').each(function(){ name = $(this).text(); if (name.indexOf(" ") != -1) { name = name.substri

尝试使用以下函数将div附加到另一个div
customizefields
,但未成功。控制台没有返回任何错误,所以我不知道从这里到哪里去

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);
函数自定义字段(对象名称){
$('td div')。每个(函数(){
name=$(this.text();
if(name.indexOf(“”)=-1){
name=name.substring(0,name.indexOf(“”);
}
if(objNames[名称]){
$('', {
id:'生物',
文本:objNames[name].bio
}).附于(本);
}
});
}
变量名称更改={
本:{class':'pn_cool','bio':'some text for Ben'},
“Andrew”:{“class”:“pn_bad”,“bio”:“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>

40分钟前
安德鲁:我们是智者,我们是先知先觉者,我们是先知先觉者。
30分钟前
本:这是我的生活。
我试图实现的结果

    <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>

对象中的文本将转到此处
30分钟前
本:这是我的生活。

在我看来,您应该查看兄弟
b
标记的文本内容,而不是当前的
div
标记

例如,当前,
name
var(顺便说一句,它是全局的)的值将是“40”,下一次迭代的值将是“30”

你大概是说

$('td div').each(function() {
    name = $(this).next('b').text();
    //more code...

您可以尝试使用JQuery api

.before或.prepend

执行一些简单的调试。如果元素未附加,则表示函数未被调用,或者
If(objNames[name])
false
。因此,让我们看看
name
有哪些值:它将分别是
30
40
(),并且这两个值都不是
namesToChange
对象中的属性。似乎您想从
b
元素而不是
div
元素获取文本。@如果我更改为
$('td b')
,则会将div放在
标记内。你知道我怎样才能让它在外部运行吗?你可以使用DOM遍历方法来获取你想要附加新元素的元素:。或者使用类似于
.after
.before
的函数:。花点时间浏览一下文档。这里有一个工作示例,可以让它显示一次。它不断重复,但也保持
设置间隔
不变?