从TD单元捕获文本并将变量连接到url

时间:2015-07-21 18:16:43

标签: javascript jquery html

寻求有关如何捕获特定TD单元的值的一些帮助。我面临的挑战是我无法修改TD单元以包含类或修改它们,因为表内容是由另一个系统动态创建的。

我创建了下面的小提琴,让您了解表格的结构。正如我上面解释的那样,因为我无法直接修改表结构或添加额外的类以使我更容易定位我想要的TD单元格,所以我正在尝试使用Macgyver。

我想要完成的是:

1)需要捕获参考编号(长度始终为11个字符且仅包含数字)。

2)将捕获的参考编号放入变量中。

3)将变量连接到以下url http://test.com/UpdateNotification.asp?OEN=(此处为变量)& CL = ALL& SU = ALL

4)用URL替换参考号。

所以我真的遇到了这个过程的第1步的问题。我很感激你的帮助。

http://jsfiddle.net/W4Km8/5665/

<DIV class="sm_content">
    <table border="1" width="100%">
        <tr>
            <td class="ms-vb2">reference numbers</td>
            <td class="ms-vb2">name</td>
            <td class="ms-vb2">Description</td>
            <td class="ms-vb2">Incident</td>
        </tr>
        <tr>
            <td class="ms-vb2">20150715110</td>
            <td class="ms-vb2">Jhonson Doe</td>
            <td class="ms-vb2">Box of cereal and other stuff</td>
            <td class="ms-vb2">123</td>
        </tr>
        <tr>
            <td class="ms-vb2">20150715111</td>
            <td class="ms-vb2">Bobby Boucher</td>
            <td class="ms-vb2">Box of nails and stuff</td>
            <td class="ms-vb2">124</td>
        </tr>
    </table>
</DIV>

3 个答案:

答案 0 :(得分:0)

将来请在询问之前付出努力。也就是说,编码员得到了代码。

$('.sm_content table tr:gt(0)').each(function() {
    var myId = $(this).find('td').eq(0).text();
    var myUrl = 'http://test.com/UpdateNotification.asp?OEN=' + myId;
    $(this).find('td').eq(0).html('<a href="' + myUrl + '">' + myId + '</a>');
});

<强> Fiddle demo

或者,如果您实际上并不想要链接ID,请在最后一行执行此操作:

$(this).find('td').eq(0).text(myUrl);

答案 1 :(得分:0)

你有不同的方法。

(function($){
    $('.sm_content tr').slice(1).each(function(){
        var td = $(this).find('td').first();
        var tdContent = td.html();
        td.html('<a href="http://test.com/UpdateNotification.asp?OEN=' + tdContent + '&CL=ALL&SU=ALL" alt="' + tdContent + '">' + tdContent + '</a>');
    });
})(jQuery);

答案 2 :(得分:-1)

将整个页面加载到字符串中。我已经使用了phpfilegetcontents但是对于仅限HTML的页面,我手动将页面复制并粘贴到文本框中,并使用document.getElementbyid('box').innerHTML将页面内容加载到串

找到第一个单元格:entirepage.indexOf('td')

entirepage.slice(start from location of td plus enough characters to get past the rest of the tag, end 11 characters later) 那是你的参考号码 找到&#39; td&#39;的第n个实例 等等。

没有必要的jquery