jquery使用其中的注释选择一个元素

时间:2014-09-12 15:49:36

标签: javascript jquery html dom

我需要选择具有注释的表格单元格,其中包含单词" Baseline EUI"在那个单元格中,我需要在值(" 59")旁边添加单位名称,例如公里或英里等。如何唯一标识表格单元格是关键字,我如何选择单元格在评论中,即" Baseline EUI" ?请帮助我如何使用jQuery选择此表格单元格? (我需要在表格单元格中的数字59之后添加像Km或Miles这样的单位)

<tr>
    <td width="165" class="ms-formlabel" noWrap="nowrap" vAlign="top">
        <H3 class=ms-standardheader><A name=SPBookmark_BaselineEUI></A>Baseline EUI</H3>
    </td>
    <td width="450" class="ms-formbody" id="SPFieldNumber" vAlign="top">
        <!-- FieldName="Baseline EUI" FieldInternalName="BaselineEUI" FieldType="SPFieldNumber"  -->
          59
    </td>
</tr>
<tr>
 There are many rows/cells like the above...
</tr>

2 个答案:

答案 0 :(得分:1)

首先选择tr标签,然后循环抛出每个tr标签的内容,搜索包含您要搜索的单词的内容。

$( "tr" ).each(function() {

});

为了添加你想要的单位,你会做同样的事情,但是当你找到那个单元格时,你将使用jquery的索引方法来知道数字的位置,然后使用jquery substring方法将该单元格的值分成两部分将您的单位添加到第一部分,然后使该单元格的值=第一部分(添加单元后)+第二部分(使用jquery子串方法)。

如果您需要详细的代码,请在评论中告诉我。

答案 1 :(得分:1)

我没有测试过这段代码。但它应该适用于你的情况。 请验证并进行必要的更改。

$.each($("yourtable tr"),function(i,val){
var check=false;
//check if Baseline EUI is contained inside tr
if($(val).html().indexOf('Baseline EUI'))
{
var x=$(val).find('td')[1];
var p=$(x).html()+' km';//set your suffix
$(x).html(p)

}

});

或将其用作右tr:

的选择器
$(".ms-formtable tr").filter(function (i, v) { if ($(this).html().indexOf('Zugehoerigkeit') > 0) { return this; } })