【问题标题】:Jquery listener event for innerhtml用于 innerhtml 的 Jquery 侦听器事件
【发布时间】:2013-02-01 22:53:48
【问题描述】:

我对 jquery 还很陌生,所以对它不太了解,我问了一个关于使用 jquery 将某些元素的类更改为特定类的问题,如果存在另一个特定元素 - JQuery - Change certain element classes to specific classes if certain other element is present

似乎需要一个事件监听器,我对事件处理程序有基本的了解,但这通常与点击等操作有关(例如“go”)在附近的元素上运行函数(下面的示例)。

这是一个博客,它将使用某些标签来改变帖子的布局,下面有一些重复的html来说明定位需要如何工作

类是跨度(使用引导程序)

html

<div class="container">

<div  class="span6">
</div>

<div class="span6">
<a class="taglink">text</a>
</div>

</div>

<div class="container">

<div class="span6">
</div>

<div class="span6">
<a class="taglink">text</a>
</div>

</div>

我想要的是 a & b 和 only a & b 的类从跨度 6 更改为 12 当 a 类“taglink”之一中的文本是 同一个容器 div 内等于 'go'。

这样只有 'go' 标记只会影响 'a' 和 'b' div 类,并且只会影响其自己的 'container' div 中的 a 和 b。

【问题讨论】:

  • 你要不要点击链接。或者它只是在页面加载时发生。
  • 你不能有两个具有相同 id 的元素。
  • 修正了文字,没有更多的id
  • 在您最近一次编辑(其中删除了 id)之后,所有元素都没有 id 或 class 或 name 或任何东西 == a OR b,因此您的问题不再有意义跨度>

标签: jquery events layout listener parent-child


【解决方案1】:

现在是第一笔生意:

ID 必须是唯一的,这是不可协商的。

所以,我将做出以下假设:

  1. id=aid=bid=container(倍数)的每个实例实际上分别读取 class=aclass=bclass=container
  2. 链接文本不会动态变化

  $(document).ready(function()
      $('div.container').each(function(){
          if ($(this).find('a.taglink').eq(0).text()=="go"){
              $(this).find('div.a').removeClass('span6').addClass('span12');
              $(this).find('div.b').removeClass('span6').addClass('span12');    
          }
      }
  });

【讨论】:

  • id 根本不重要,因为我使用引导程序,所以类是 span1-12,我将 a/b 等放入只是为了区分我在示例中谈论的 div。
  • 链接文本是在后端生成的,因为这是针对博客的,它会因帖子而异,有些带有“go”文字,有些则没有,这反过来又会不同页面上带有 innerhtml 'go' 的链接(因为每页有多个帖子)
  • 我建议在其周围放置一个$(document).ready(function(){ ... your code here ... });,以便在他的页面加载时发生。
  • 好的,但是它不需要检查taglink的innerhtml吗?
  • 我现在很困惑,这篇文章的重点是寻求帮助,了解如何为 taglinks innerhtml 创建一个事件侦听器,然后使用它的某些值将 span6 类 div 更改为无论如何。
猜你喜欢
  • 1970-01-01
  • 2018-12-12
  • 2019-06-24
  • 2011-04-06
  • 2016-11-16
  • 2021-09-28
  • 2020-09-16
  • 1970-01-01
  • 2018-09-04
相关资源
最近更新 更多