我有以下的jquery代碼:爲什麼不用attr設置類?
function InitVoteContainer(voteContainer) {
var _userVote = voteContainer.children(".storeUserVote").val();
var _userObjectId = voteContainer.children(".storeObjectId").val();
var _userVoteKey = voteContainer.children(".storeVoteKey").val();
var _UserAuth = voteContainer.children(".storeUserAuth").val();
var _voteButtonUp = voteContainer.children("div[pid='btUp']");
var _voteButtonDown = voteContainer.children("div[pid='btDown']");
var upBtValue = 0;
var downBtValue = 0;
_voteButtonUp.attr("class", "upVote_inactive");
_voteButtonDown.attr("class", "downVote_inactive");
_voteButtonUp.prop("onclick", null);
_voteButtonDown.prop("onclick", null);
}
該代碼將接通給予好評和downVote按鈕類。代碼運行良好,但類從未設置?問題是爲什麼?
編輯1:
更新了一些更多的代碼:
在dodument準備function InitVoteControls() {
$("#mainPostList").find(".voteCon").each(function() {
InitVoteContainer($(this));
});
}
這個jQuery代碼runnes這是jQuery的使用HTML:
<ul id="mainPostList" class="verticalList">
@foreach (var postViewModel in Model.Posts)
{
<li>
<div class="postContainer">
<div class="voteCon">
<input class="storeUserVote" type="hidden" value="@Model.UserVote" />
<input class="storeObjectId" type="hidden" value="@Model.ObjectId" />
<input class="storeVoteKey" type="hidden" value="@Model.VoteKey" />
<input class="storeUserAuth" type="hidden" value="@Request.IsAuthenticated" />
@if (!Request.IsAuthenticated)
{
<div pid="btUpVote" class="upVote"></div>
}
else
{
<div pid="btUpVote" class="upVote_inactive"></div>
}
<br style="clear:both;" />
<div class="voteCountBox">
@Html.Encode(Model.VoteBalance)
</div>
<br style="clear:both;" />
@if (!Request.IsAuthenticated)
{
<div pid="btDownVote" class="downVote"></div>
}
else
{
<div pid="btDownVote" class="downVote_inactive"></div>
}
</div>
</div>
</li>
}
</ul>
'$。attr('class',value)'工作正常。確保您的選擇不是空的。 – moonwave99
很多時候人們並不認爲這個類正在被添加,但實際上這是他們的css,並不足以看到任何變化 – charlietfl
添加了一些代碼,maby它是從voteContainer.children獲得的對象是不正確的?如何使用Chrome檢查此問題?我可以看到它確實找到了一個對象,但我不確定它是否正確。 – Ivy