如果元素id存在则jQuery将class添加到同一元素

时间:2015-01-31 15:08:11

标签: javascript jquery

我正在尝试将addClass添加到输入中,如果它存在并触发单击addClass到不同的元素并在jQuery中触发它点击它但我遇到了一些问题并尝试了不同的方法但没有运气。 这是html:

 <td>
     <input type="radio" name="shipping_method" value="free.free" id="free.free" />
     <label for="free.free">Free</label>
     <input type="radio" name="shipping_method" value="flat.flat" id="flat.flat" />
     <label for="flat.flat">Payed</label>
 </td>

和我的剧本:

<script language="Javascript" type="text/javascript">
    $(document).ready(function(){
        if($('#free.free').length > 0) {
            $('#free.free').addClass('sgcheck');
            $('.sgcheck').trigger('click');
            }
        else { 
            $('#flat.flat').addClass('sgcheck');
            $('.sgcheck').trigger('click');
            }
    });
</script>

1 个答案:

答案 0 :(得分:1)

您需要使用双\\来转义ID选择器中的点字符:

$('#free\\.free').length

否则#free.free选择符表示标识为free 类名free的元素,您的HTML显然没有。