0

嗨,我想访问我的应用程序所有部分中存在的文本。我不能使用 id 因为在一个应用程序中有不同的表具有不同的 id。每当我将鼠标放在该 td 单元格上时,无论表格如何,我都想访问文本名称,因此我无法使用 id。请建议我使用 JQuery 执行此操作。我要访问的文本来自 asp.net aspx 页面。

4

2 回答 2

2

在 jquery 中,您可以将悬停事件应用于获取其文本的每个 td。将文本放入变量中,然后使用 ajax 将其传递给您的 .aspx 处理程序。这是一个简单的例子。将此脚本块放在您的就绪函数中或文档末尾附近是个好主意。

jQuery

$('td').hover(function () {
        //mouse over

        //get the data
        var tdText = $(this).text();
        console.log(tdText);

        //do something with the data

        var jqxhr = $.ajax("handler.aspx?text=" + tdText)
            .done(function () {
                console.log("success");

                //do something
            })
            .fail(function () {
                console.log("error");

                //do something else
            });
    },

    function () {
        //mouse out
        console.log("mouse-out");
    }
);
于 2013-10-13T17:06:08.387 回答
1

我只能帮助您确定鼠标光标是否在任何 td 元素上方。您将需要修改代码以满足您的需要以显示有用的内容。

HTML:

<p id="message">&nbsp;</p>
<table>
    <tr>
        <td>Data 1</td>
        <td>Data 2</td>
        <td>Data 3</td>
    </tr>
    <tr>
        <td>Data A</td>
        <td>Data B</td>
        <td>Data C</td>
    </tr>
</table>

JS:

addEventListener("mouseover", function(event) {
    if (event.toElement.localName == 'td')
        $('#message').html("You are in a table cell");
    else
        $('#message').html("&nbsp;");
}, false);

我还创建了一个小提琴供您测试:http: //jsfiddle.net/m3EmK/

于 2013-10-13T17:08:58.147 回答