使用jquery替换复选框列表中的标签



我试图用jquery取代一个超链接的标签。然而,它不适合我。我希望每个列表项都有一个基于其值的特定超链接。这是我试过的……JQuery代码:

        $('.chkList li label').each(function () {
            if ($(this).val() == "1")
                $this.replaceWith('<a href="">link 1</a>');
            if($(this).val() == "2")
                $this.replaceWith('<a href="">link 2</a>');
        });
asp.net代码:
 <asp:CheckBoxList ID="chkList" runat="server" RepeatLayout="UnorderedList" CssClass="chkList">
                    <asp:ListItem Text="A" Value="1"></asp:ListItem>
                    <asp:ListItem Text="B" Value="2"></asp:ListItem>
                    <asp:ListItem Text="C" Value="3"></asp:ListItem>
</asp:CheckBoxList>

我在这里错过了什么?

ok -那么两件事A)你对$this的使用需要改变,就像在评论中一样,但我也刚刚意识到你正在比较价值。在转换为数字之前,所有输入值都是字符串,因此使用parseInt()将其转换为数字:

 if (parseInt($(this).val())== 1)

或者保持为字符串

 if ($(this).val() == "1")

成功了!

<script>
        $('.chkList li').each(function () {
            var myvalue = $(this).html();
            if ($(myvalue).attr("value") == "1")
                $(this).replaceWith('<a href="">link 1</a>');
            if ($(myvalue).attr("value") == "2")
                $(this).replaceWith('<a href="">link 2</a>');
        });
</script>

最新更新