Angular2 - 无法使用jQuery更改元素样式

时间:2017-03-14 17:48:47

标签: javascript jquery angular typescript

我动态地给出*ngFor元素ID,如下所示:

<div *ngFor="let section of questionsBySubCat" class="col-md-12">
    <div class="subcat-container">
        <h4 class="sub-cat">{{ section?.subcategory }}</h4>
    </div>
    <div *ngFor="let question of section?.questions; let i = index" class="row">
        <div class="col-md-11 col-xs-10">
            <h5 (click)="toggleAnswer(question)" class="question">{{ question?.question }}</h5>
            <div class="answer-div" id="ques-{{question?.subcategory.split(' ').join('')}}-{{question?.num}}">
                <br> // DYNAMIC ID HERE ^^
                <p [innerHtml]="question?.answer" class="answer-text"></p>
                <hr>
                <br>
            </div>
        </div>
    </div>
</div>

当我检查控制台中的元素时,ID是正确创建的。当我使用jQuery注销元素的内部html时,它完美地工作但是当我使用jQuery更改元素css(显示为无)时它根本不起作用。这是为什么?

1 个答案:

答案 0 :(得分:1)

将您的jQuery代码用于更改setTimeOut()函数中的css元素。

它无法正常工作,因为您尝试访问dom元素并在动态创建css之前修改它们。所以你应该让你的jQuery代码(它改变css元素)在setTimeOut()。

 setTimeout(function () {
  $('your dynamic dom element').addClass('in');
 }, 1000); 

希望这有帮助。