2016-03-20 23 views
2

我想简单地添加一个row表后接row当后者被点击,所以我用下面的代码(实际上我在Visualforce页面中使用此代码)。parent()和nearest()如何在jQuery中工作?

function queryAndUpdateLead() { 
     var a = $('[id$=ibrahim]').closest('tr') 
       .after('<tr><td>New Content 1</td><td>\ 
         <a href="#">New Content 2</a></td></tr>'); 
} 

这里的问题是,这列在表中所有现有行后添加,当我用length属性来检查元素的数量a我总是得到2(我最初2行)

alert('a.length') // this shows 2 

我想要的是得到直接父行,而不是所有的现有行,但我不知道为什么它不工作?

编辑:html代码提炼BY SALESFORCE SERVER:

<tbody id="j_id0:j_id3:j_id4:j_id6:tb"> 
<tr class="dataRow even first" onfocus="if (window.hiOn){hiOn(this);}" onblur="if (window.hiOff){hiOff(this);}" onmouseout="if (window.hiOff){hiOff(this);} " onmouseover="if (window.hiOn){hiOn(this);} "> 
**<td id="j_id0:j_id3:j_id4:j_id6:0:ibrahim" class="dataCell " onclick="queryAndUpdateLead();" colspan="1">** 
<td id="j_id0:j_id3:j_id4:j_id6:0:j_id7" class="dataCell " colspan="1"> 
<td id="j_id0:j_id3:j_id4:j_id6:0:j_id8" class="dataCell " colspan="1"> 
<td id="j_id0:j_id3:j_id4:j_id6:0:j_id9" class="dataCell " colspan="1"> 
<td id="j_id0:j_id3:j_id4:j_id6:0:j_id10" class="dataCell " colspan="1"> 
</tr> 
<tr class="dataRow odd last" onfocus="if (window.hiOn){hiOn(this);}" onblur="if (window.hiOff){hiOff(this);}" onmouseout="if (window.hiOff){hiOff(this);} " onmouseover="if (window.hiOn){hiOn(this);} "> 
<td id="j_id0:j_id3:j_id4:j_id6:1:ibrahim" class="dataCell " onclick="queryAndUpdateLead();" colspan="1"> 
<td id="j_id0:j_id3:j_id4:j_id6:1:j_id7" class="dataCell " colspan="1"> 
<td id="j_id0:j_id3:j_id4:j_id6:1:j_id8" class="dataCell " colspan="1"> 
<td id="j_id0:j_id3:j_id4:j_id6:1:j_id9" class="dataCell " colspan="1"> 
<td id="j_id0:j_id3:j_id4:j_id6:1:j_id10" class="dataCell " colspan="1"> 
</tr> 
</tbody> 
</table> 
+0

是否所有的行都有以“ibrahim”结尾的ID?因为那是你使用的选择器。 –

+0

不,只有一行被命名为易卜拉欣 –

+1

然后请显示您的HTML;和足够的jQuery来重现你的问题,否则我们只能玩猜谜游戏。 –

回答

0

当你有$('[id$=ibrahim]')元素的集合,你需要使用$(this)找到最接近当前点击的元素的tr后插入内容:

function queryAndUpdateLead() { 
     var $(this).closest('tr') 
       .after('<tr><td>New Content 1</td><td>\ 
         <a href="#">New Content 2</a></td></tr>'); 
} 
+0

是的,它的工作表示感谢。 –