Jquery 设置标签的属性

标签 jquery

是否可以使用 jQuery 设置“for”(AssociatedControlID) 属性?我正在尝试类似的方法将其设置为标签后出现的下一个控件:

$('label.asssociateClass').each(function()
{

      var toAssociate = $(this).next(':input');

      $(this).attr("for", toAssociate.attr("id"));

});

问题是,如果我不通过 AssociatedControlID 在服务器上设置它,它永远不会到达这里,因为在这种情况下它会呈现为 span 而不是 label 。有没有办法克服这个问题,或者我必须在服务器上执行此操作?

最佳答案

您可以使用.replaceWith()用标签替换跨度。像这样:

$('span.asssociateClass').each(function() {
  var l = $("<label class='associateClass' />")
           .html($(this).html())
           .attr('for', $(this).next(":input").attr("id"));
  $(this).replaceWith(l);
});​

这是一个简单的示例:http://jsfiddle.net/V73WL/

关于Jquery 设置标签的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2596545/

相关文章:

jquery - 使用 contains 查找文本

jquery - 如果最初隐藏,Google 分享按钮无法正确显示

javascript - 代码可以正常工作,但不能在网页上工作

jquery - 在 Lumia 930/1520 上 Bootstrap 移动导航

javascript - Chrome 和 Google 网络字体的问题。显示来自 Firefox 的不同输出

javascript - Backbone.js - id vs idAttribute vs cid

javascript - 缓存 html .load 结果以加快加载速度

javascript - javascript函数知道它的名字吗

javascript - 如何在一个 PDF 文件中导出两个数据表

jquery - 在提交输入之前增加 Bootstrap 标签输入的大小