我的代码为许多元素(不是所有元素)设置了数据属性,如下所示。
<div id='dvStorage' data-testing='storage_div'>
对于某些元素(不是所有元素),数据属性的设置方式如下。
$("#ElementID").data("testing", "data value");
现在问题来了。当单击文档上的任何按钮时,我需要找到其具有已设置数据属性(测试)的父元素。如上所述,并非所有元素都具有数据属性,因此我需要向上遍历层次结构,直到找到预期的元素为止。
对于第1种方法,$("#buttonID").closest("[data-testing]")
可行。但是对于第2种方法则不行。
对于第2种方法,我需要通过迭代按钮的 parents()
并验证它是否具有 .data("testing")
来实现。我需要避免这种迭代。并且拥有适用于#1和#2的一个公共方法。
这里无需验证data-testing的值,而是获取具有“testing”设置为其数据属性的层次结构中的第一个父元素。
提前致谢。