如何找到持有类或 id 的属性?

Posted

技术标签:

【中文标题】如何找到持有类或 id 的属性?【英文标题】:How to find an attributes holding class or id? 【发布时间】:2014-01-05 11:15:59 【问题描述】:

我正在尝试通过确定其数据属性的值来对指定类运行操作。我运行的问题是我无法找到属性类/选择器,不确定如何到达属性选择器。

jQuery .find、.closest 等不起作用,因为我可以看到我不再在那个类中,而是在拉 [object Object],不幸的是我不熟悉。

在这方面的任何帮助都会很棒!

这是我正在使用的代码:

(function () 
    var currentDate = $.datepicker.formatDate('DD,d MM yy', new Date());
    if ($(".post-title").data('date') < currentDate) 
        //  console.log($(this));
        $(this).css(
            "opacity": "0.5",
                "border": "2px solid red"
        );
    
)();

【问题讨论】:

也许是一些生活的例子? 注意:.data('date') 将是一个字符串,而不是日期。将其与日期对象进行比较是行不通的。 对于this 引用特定的.post-title 元素,如果该类的元素不止一个,则需要使用each 循环 @ diodeus如果.data('date')保存为Date对象,它应该被检索为一个。 span> 这是一个小提琴。我只需要使过期的帖子生效,并让其保持活跃状态​​jsfiddle.net/MVFW9 【参考方案1】:

问题是this 没有引用post-title 元素。您的日期比较也需要更改,它必须比较日期而不是字符串

如果可以有多个元素,则需要使用 each 循环

jQuery(function ($) 
    var date = new Date();
    var today = new Date(date.getFullYear(), date.getMonth(), date.getDate());

    $(".post-title").each(function () 
        var date = $.datepicker.parseDate('DD,d MM yy', $(this).data('date'));
        if (date < today) 
            //  console.log($(this));

            $(this).css(
                "opacity": "0.5",
                    "border": "2px solid red"
            );
        
    )

)

如果不是

jQuery(function ($) 
    var date = new Date();
    var today = new Date(date.getFullYear(), date.getMonth(), date.getDate());

    var date = $.datepicker.parseDate('DD,d MM yy', $title.data('date'));
    if (date < today) 
        $title.css(
            "opacity": "0.5",
                "border": "2px solid red"
        );
    
)

【讨论】:

@user3111851 new Date(string) 可能并不总是根据客户端使用的本地正常工作【参考方案2】:

如果您使用each,它会提供一个闭包供您在其中工作。然后this 将引用当前的 jQuery 对象/元素(即使只有一个匹配的元素)。

$('.post-title').each(function () 
  if (new Date($(this).data('date')).getTime() < new Date().getTime()) 
    $(this).css(
      opacity: 0.5,
      border: '2px solid red'
    );
  
);

【讨论】:

这很完美,非常干净而且切中要害。谢谢!

以上是关于如何找到持有类或 id 的属性?的主要内容,如果未能解决你的问题,请参考以下文章

如果祖先的属性使用 xsl 持有某个值,我如何删除属性和元素

如何找到与导航属性相关的 Id 属性或属性?

使用 HTML DOM 在文档中查找元素

防止为类或模块创建新属性

哪些信息持有 NFT?

python selenium,我无法从文本框中找到元素类或 id