问题 使用jquery访问td中的div


不知道为什么我觉得这么难。这是html代码:

<tr>
    <td>FirstName 9</td>
    <td>LastName 9</td>
    <td><a href="#" id="linkSponsorMessage">View</a></td>
    <td>
        <div class="divSponsorMessage" style="display:none">
            Greetings FirstName 9, LastName 9!
        </div>        
    </td>
</tr>

我需要访问 <div> 使用JQuery单击锚链接时。

更新:

我开始工作了:

$("#linkSponsorMessage").parent("td").next("td").children("div")

但有更好的方法!

更新2:

此外,由于我使用多个DIVS和锚标签,我不得不做$(this)来引用当前触发的锚标签。

$(document).ready(function() 
{
    $("a").mouseover(function()     
    {
        var divs = $(this).closest("tr").find("div").fadeIn("slow"); 

    });

    $("a").mouseout(function()     
    {
        var divs = $(this).closest("tr").find("div").fadeOut("slow"); 

    });


});

7041
2018-03-18 19:44


起源

感谢您与我们所有人分享最终解决方案:-) - Raja
感谢您发布解决方案 - 有一个类似的问题,所以这有助于我解决我的问题:) - Jen


答案:


你可以用这个:

$("#linkSponsorMessage").closest("tr").find("div")

要么:

$("#linkSponsorMessage").closest("tr").find(".divSponsorMessage")

10
2018-03-18 19:52





只是用

$("a").click(function(){alert("clicked");return false;};)

上面的代码会显示一个单击的警报,并且不允许链接点击的默认功能发生。

希望这可以帮助。


3
2018-03-18 19:50





如果你有多个div消息,请删除我的原始答案....认为你使用了链接和div的id

看看Nick Craver关于如何通过接近来找到div的答案。

[原始答案]

由于您为每个元素使用ID,因此访问任何内容都非常简单。 这是一些示例代码..

$('#linkSpnsoMessage').click( function(){
   var $div = $('.divSponsorMessage');
    //$div variable now holds the jquery version of the div..
} );

2
2018-03-18 19:51



只有div有ID;) - Nick Craver♦
@Nick,啊......真的..误将班级误认为是... - Gabriele Petrioli
更正: var $div = $('.divSponsorMessage'); - Matt Huggins
是的,谢谢@Matt ..已经纠正过了.. - Gabriele Petrioli
我没有与div相关联的ID。然后页面上有多个div。不管怎样,谢谢! - azamsharp


尝试这个

 $(td a).click(function(){
  alert('hello');
   return false;
 });

1
2018-03-18 19:51





$('div.divSponsorMessage');

0
2018-03-18 19:52