1

我成功地使用closest()http://api.jquery.com/closest/)通过标签名称找到最接近的匹配元素。它基本上通过 DOM 树向上并返回元素(如果找到)或 false:

if(jQuery(".current_element").closest("p").length){ do something... }
//if above is TRUE then .current_element is nested within at least 1 "p"

现在,我只在应用了任何标签(或者更确切地说是最接近元素的标签 - 生效的标签)时才尝试返回 TRUE style="text-align:center;"。我怎么做?

4

4 回答 4

1

它应该工作:

if(jQuery(".current_element").closest("p").length && jQuery(".current_element").closest("p").css("text-align") == "center" ){
  do something...
}
于 2012-08-27T13:36:06.153 回答
1

如果您确定 'text-align: center" 确实是内联样式,则可以在调用最接近()时将其直接添加到选择器中,例如:

jQuery(".current_element").closest("p[style*='text-align:center']") ...

这将在 style 属性中的任何位置找到包含“text-align:center”的祖先 p 元素。

于 2012-08-27T13:37:44.707 回答
0

最好的做法是让text-align: center;班级申请,然后您可以轻松选择它。

否则,您可以进行基本的字符串搜索,但要使其正常工作,它必须是确切的字符串:

if ($('.current').closest('p').attr('style')=='text-align:center;')){ ... }
于 2012-08-27T13:36:54.677 回答
0
jQuery('.curr').closest("[style*='text-align:center']").length ... 
于 2012-08-27T13:37:00.913 回答