jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 想要使整个TD单元成为锚点大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个< table>其中每个< td>只持有一个锚.我希望用户能够单击单元格中的任何位置来访问该引用,而不仅仅是锚文本本身.我想必须有一些jQuery才能轻松完成.有人可以帮忙吗?

编辑:为了使事情复杂化,我的td有一些顶部和底部填充.显示:块;在这种情况下,规则似乎不起作用.我编辑了这个例子:

CSS:

table#mainmenu td {
    padding: 9px 8px 5px;
    border: none;
    border-bottom: 1px solid #ccc;
    border-left: 1px dotted; 
    text-align: left;
}

例:

<table>
<tr>
  <td><a href="foo.html">Foo</a></td>
  <td><a href="bar.html">Bar</a></td>
</tr>
<tr>
  <td><a href="foobar.html">FooBar</a></td>
  <td><a href="barfoo.html">BarFoo</a></td>
</tr>
</table>

解决方法

只需将A标签显示:阻止.

table td a {
  display: block;
}

http://jsfiddle.net/userdude/6VZ8t/

或者,如果你坚持使用jQuery:

$('table td a').css('display','block');

http://jsfiddle.net/userdude/a2EAz/

编辑

由于我无法找到仅用于CSS的方法来选择子A的父TD,因此该解决方案使用jQuery:

function doTablePadding() {
    $td = $('table td');
    $td.has('a').css('padding','0');
    padding = $td.not(':has(a)').css('padding-top') + " ";
    padding += $td.not(':has(a)').css('padding-right') + " ";
    padding += $td.not(':has(a)').css('padding-bottom') + " ";
    padding += $td.not(':has(a)').css('padding-left') + " ";
    $td.children('a').css('padding',padding);
}
doTablePadding();
$('table tbody').append("<tr><td>stuff</td><td><p>Other stuff</p></td></tr>");
$('table tbody').append('<tr><td><a href="foo.html">Foo</a></td><td><a href="bar.html">Bar</a></td></tr>');
doTablePadding();

http://jsfiddle.net/userdude/Mekjg/1

请注意,这是从$(document).ready();运行的.

编辑2

由于mu是太短的音符,负边距应该有效(并且没有jQuery):

td {
    padding: 5px;
    BACkground: #0ff;
    border: 1px solid black;
}
td a {
    display: block;
    margin: -5px;
    padding: 5px;
    BACkground: #f0f;
}

http://jsfiddle.net/ambiguous/seqpp/

大佬总结

以上是大佬教程为你收集整理的jquery – 想要使整个TD单元成为锚点全部内容,希望文章能够帮你解决jquery – 想要使整个TD单元成为锚点所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。