javascript - 动态类: are they prepended or appended?

标签 javascript jquery jquery-ui jquery-plugins

我的问题是一个非常普遍的问题: 当动态类添加到元素时(例如通过任何 jQuery-ui 的附加组件), 并且该元素上已经有类,动态添加的类是否附加或前置到类列表中?

为什么问题基于以下内容: 我试图选择具有以标识符(例如 title_ )开头的动态类的所有元素,因此我只需编写 $('[class^title_]')。

我担心的是另一个开发人员可能会向该元素添加 $.datepicker (例如),从而向该元素添加另一个类,并且如果这些类被添加到该元素 - there goes my selector

提前致谢

这是我的情况:显示 Coldfusion cfloop 创建复选框:

    <cfset lbls = {"test1" = "Test one","test2" = "Test two","test3" = "Test three","test4" = "Test four","test5" = "Test five"}>
    <cfloop collection=#lbls# item="num">
      <cfoutput>
        <tr>
          <td><label>#lbls['#num#']#</label>
          <td><input type="checkbox" class="form_test test_#num#" value="#num#" name="test_yes" ></td>
          <td><input type="checkbox" class="form_test test_#num#" value="#num#" name="test_no" ></td>
        </tr>
     </cfoutput>
   </cfloop>

我会动态地为 5 个类别创建动态复选框(是或否)(循环冷融合列表来创建它们)[它们不是允许用户取消选中所有类别的单选框]。那么我如何引用“其他”复选框? 我不能使用siblings(),因为它们位于单独的td中。我可以去 parent 那里选择parents('th').children(':checkbox').not(this),但我希望有一个更短的方法。

最佳答案

它们是附加的,但您不应该依赖它。

更好的解决方法是附加通用标识类和更具体的类:

<elem class="title title_foo"> ... </elem>

如果您想要所有此类元素,然后使用最小类选择器选择前者:

$('.title')

这将比使用属性匹配选择器方式更加高效和可靠。

关于javascript - 动态类: are they prepended or appended?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21682045/

相关文章:

javascript - 复制 N 个 JS 对象并在其中进行更改

javascript - 如何防止图像离开html中的区域

Javascript - 单击事件在 "infinite scroll"之后不再起作用

javascript - 这个javascript代码在没有for循环的情况下运行正常但没有它。任何帮助,我已经尝试了一切

javascript - 使用单个函数更新多个div的charcount

javascript - 劫持 CSS 定义

jquery - 我无法显示日期框 - multiDatesPicker

javascript - 为什么jqgrid上的文本框不响应鼠标点击?

javascript - 2 在不同的选项卡中相互重叠的文本 JQuery-UI

jQuery 主题模仿 Django 管理界面风格(使用 CSS)