首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >标签的Jquery设置属性

标签的Jquery设置属性
EN

Stack Overflow用户
提问于 2010-04-08 07:14:11
回答 2查看 4.8K关注 0票数 3

是否可以使用jQuery设置"for"(AssociatedControlID)属性?我正在尝试将其设置为显示在label之后的下一个控件:

代码语言:javascript
运行
复制
$('label.asssociateClass').each(function()
{

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

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

});

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-08 07:30:40

可以使用.replaceWith()将跨度替换为标签,如下所示:

代码语言:javascript
运行
复制
$('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/

票数 3
EN

Stack Overflow用户

发布于 2010-04-08 07:18:27

您不能更改asp:label的行为,但是可以使用jquery更改标签

代码语言:javascript
运行
复制
$(function () {
    var spans = $('span.label').each(function() {
        input = $(this).next('input');      
        $('<label />').html($(this).html()).attr('for', input.attr('id')).insertBefore(input);
        $(this).remove();
    });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2596545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档