0

我正在尝试访问表格和 div 中的锚链接。我没有任何运气访问 CSS 属性,因此我可以使用 jQuery 捕获单击事件。此内联对话框的内容是即时生成的。

<div id="cds-cad-inline-dialog" style="">
    <div>The model you requested has been successfully generated.</div>
    <table>
        <tbody>
            <tr>
                <td>
                    <div>
                        <a href="alinktoadownloadfile">Download File</a>
                    </div>
                </td>
            </tr>
        </tbody>
   </table>
</div>

我尝试了以下方法:

            $("div.a#cds-cad-container").click(function () {
                $("#cds-cad-static-3D-viewer").show();
                $("#cds-cad-inline-dialog").hide();
            });

            $("div.table.tbody.tr.td.div.a").click(function () {
                $("#cds-cad-static-3D-viewer").show();
                $("#cds-cad-inline-dialog").hide();
            });

任何帮助,将不胜感激。

编辑:

之前的代码

    <form id="_3d" runat="server">
        <div id="show_3d" runat="server" style="display:block;width:635px">
            <div id="cds-cad-container">
                <div id="cds-cad-inline-dialog" style="display:none;"></div>

之后的代码

看上面。

4

3 回答 3

1
$("#cds-cad-container").on("click","table div a",function(event){
    alert("hello world, href : "+$(this).attr("href"));
    event.preventDefault();
});
于 2013-02-15T19:09:02.733 回答
0

Your selectors are incorrect. Try

$("#cds-cad-container a").click(function () {

Your previous "div.a#cds-cad-container" is trying to select a div with class a.

and

$("div table tbody tr td div a").click(function () {

You were using dots in this one, which is a class selector. Use spaces to select nested elements that may have intervening elements.

于 2013-02-15T19:08:19.747 回答
0

就像添加它一样,如果您使用,请 $("#cds-cad-container a").click(function () { //your code });确保您只有一个要添加点击事件的锚标记。

这会将点击事件附加到具有 id 的 div 下的所有可用锚标记cds-cad-container

为了避免它,你可以写这样的东西:

var test = $("#cds-cad-container a")[0].onclick = function(){console.log("test")};

这会将点击事件仅附加到具有 id 的 div 下的第一个锚标记cds-cad-container

希望这可以帮助。

于 2013-02-15T19:45:23.457 回答