亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

javascript - 關(guān)於ng-repeat,取得DOM渲染完後的元素出現(xiàn)問題?
曾經(jīng)蠟筆沒有小新
曾經(jīng)蠟筆沒有小新 2017-06-12 09:25:54
0
2
997

我用ng-repeat渲染出資料後,想修改某一個(gè)指定的DOM元素的樣式,下面是範(fàn)例程式碼

    <ul ng-repeat="item in city" repeat-done="cityFinish()">
        <li class="city city{{$index}}">{{item}}</li>
    </ul>
    $scope.cityFinish = function() {
        $('.city').css('background', 'red');
        $('.city1').css('background', 'green');
    };

其中 $('.city').css('background', 'red');有效,但$('.city1').css('background', ' green');無效,這是什麼原因?

曾經(jīng)蠟筆沒有小新
曾經(jīng)蠟筆沒有小新

全部回覆(2)
為情所困

我專案嘗試是可以的 , city{{$index}}是從city0可以 你可以檢視元素看下class是否變成city1 ,然後可以試著斷點(diǎn)$('.city1')是否取到了dom元素

淡淡煙草味

你先審查一下元素。確保它的 class 是對(duì)的。
首先,不知道你的 repeat-done 是如何寫的。這應(yīng)該不是 angularjs 自帶的。
其次,為什麼不把顏色寫到 css 中,然後用 ng-classng-style 處理,一定要用 jQuery 呢。

你的需求是不是,除了 index 為 1 的背景色為綠色,其他的都為紅色?

<ul ng-repeat="(index, item) in city">
  <li class="bg-red" ng-class="{'bg-green': $index == 1}">{{item}}</li>
</ul>
.bg-red {
  background: 'red';
}

.bg-green {
  background: 'green';
}

能不用 jQuery 就別用,更何況你還有內(nèi)建的 jqLit??e 可以用。 。 。 jQuery 作為第三方函式庫,如果你不針對(duì) angularjs 封裝,那麼你不能保證它的執(zhí)行一定是在產(chǎn)生節(jié)點(diǎn)之後的,特別是對(duì)於 custom directive。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板