访问通过CSS和Jquery动态生成的嵌套内容

时间:2013-02-15 19:06:20

标签: jquery css3 html-table

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

<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>

之后的代码

见上文。

3 个答案:

答案 0 :(得分:1)

$("#cds-cad-container").on("click","table div a",function(event){
    alert("hello world, href : "+$(this).attr("href"));
    event.preventDefault();
});

答案 1 :(得分:0)

您的选择器不正确。尝试

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

您之前的“div.a #cds-cad-container”正在尝试选择diva

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

你在这个中使用了点,这是一个类选择器。使用空格选择可能具有插入元素的嵌套元素。

答案 2 :(得分:0)

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

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

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

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

这会将click事件仅附加到ID为cds-cad-container的div下的第一个锚标记。

希望这有帮助。