0

我正在尝试<span>根据您是否单击来更新锚点内的内容。如果单击它并且幻灯片已打开,则为“向上导航”,如果未处于活动状态,则为“向下导航”。

如果需要更改整个锚点,我可以使用此功能,但我只需要更改跨度即可。另外,我可以为它编写一个单独的脚本,但我认为最好将它包含在已经存在的 jQuery 中。

有任何想法吗?

我有这个 HTML:

<li class="page_item page-item-29 parent"><a href="#">Clinical/Laboratory<span class="ss-icon navigation-drop-icon">navigatedown</span></a></li>

这是我的 jQuery:

$(".sub-navigation li.parent > a").click(function(e) {
   e.preventDefault()
   $(this).text($(this).text() == 'navigateup' ? 'navigatedown' : 'navigateup');
   $(this).closest('.parent').find("> .children").slideToggle(400);
});

谢谢,R

4

1 回答 1

2

如果我理解你是正确的,你可以提供 span 作为文本的选择器,然后this用作在其中查看的上下文,如下所示:

 $("span", this).text($("span", this).text() == 'navigateup' ? 'navigatedown' : 'navigateup');

jQuery 函数允许您传递第二个参数,这是使用选择器时要查看的上下文。在这种情况下,跨度选择器将仅匹配单击元素内的跨度元素。

根据文档,上下文可以是:

用作上下文的 DOM 元素、文档或 jQuery

我认为 jQuery 使用.find()幕后的方法,所以在你的情况下,上面的例子只是一个简写$(this).find("span")

于 2012-11-08T09:49:25.147 回答