如何选择块级元素及其父级仅包含链接

时间:2015-02-21 04:05:13

标签: javascript jquery

这是我编写的插件,它似乎完成了我想要的点击处理程序到父div,li和其他仅包含链接的块元素的很大比例。我需要将父项的选择限制为仅阻止元素,如果父项只是此链接的容器,则放大结果选择。

(function ($) {
$.fn.buttonize = function (){
    var $is_singleparent = $(this).parent().find('a:only-child').parent();
    if ($is_singleparent.length){
        $is_singleparent.css({'cursor':'pointer', border:'thin yellow solid').on('click', function () {
            window.location = $('a', this).attr('href');
        });
    }
}
})(jQuery);
// to use
$('a').buttonize();

黄色边框仅用于调试...... 这是在行动: http://jsbin.com/cawijoputa/7/edit?html,css,js,output 当你看到这个时,我的意图有些不对劲:

  • div 应该突出显示id = d而不是Devaki的父div
  • 应突出显示包含Lakshmi的(内联:块)的跨度 但不是那些包含奎师那和玛雅的内联跨度。
  • 应使用Jagganath
  • 突出显示包含范围的div
  • div 应该突出显示id = n,而不是Narayana的段落

1 个答案:

答案 0 :(得分:0)

只需在链中添加另一个parent方法即可获得大部分内容。但这一切似乎都非常脆弱。

var $is_singleparent = $(this).parent().find('a:only-child').parent().parent();