1
<script language="javascript" type="text/javascript" src="jquery-1.6.js"></script>

<script>

    $('.disabledForm').each(function(i, div) {
    alert('in here');
    $(div).find('input').each(function(j, element){
        $(element).attr('disabled','disabled');
    });
    });
</script>

<div id="divDisabled" class="disabledForm">
            <label>Disabled Input 1&nbsp;<input type="text" id="disabledInput1" name="disabledInput1" /></label>
            <br />
            <label>Disabled Input 2&nbsp;<input type="text" id="disabledInput2" name="disabledInput2" /></label>
        </div>

永远不会看到“在这里”消息,并且我的输入永远不会被禁用,所以我认为我做错了什么。有人可以告诉我我做错了什么吗?

4

3 回答 3

3

您必须将代码包装在一个$(function(){ ... })块中,以便让它看到整个 DOM。

<script>
$(function(){ 

    //your js code here

});
</script>
于 2013-04-01T14:39:04.313 回答
1

$(document).ready(function()
{
    $('.disabledForm').each(function(i, div) {
        alert('in here');
        $(div).find('input').each(function(j, element)
        {
            $(element).attr('disabled','disabled');
        });
    });
});

于 2013-04-01T16:16:17.677 回答
0

您应该将您的函数包装在 $(document).ready(function() { 'Your method in here' } 周围。

于 2013-04-01T14:44:38.527 回答