Javascript 当我单击按钮(角度2)时,我的功能不起作用
我已经为此工作了几天,我不明白为什么当我点击按钮时不能显示我的功能。这是我的密码Javascript 当我单击按钮(角度2)时,我的功能不起作用,javascript,angular,typescript,Javascript,Angular,Typescript,我已经为此工作了几天,我不明白为什么当我点击按钮时不能显示我的功能。这是我的密码 <div class="dayOfYear" style="display:none" >{{ toDayOfYear(day.date) }}</div> <script> function showingChange(){ let ID = document.getElementById('dayOfYear')
<div class="dayOfYear" style="display:none" >{{ toDayOfYear(day.date) }}</div>
<script>
function showingChange(){
let ID = document.getElementById('dayOfYear')
if (ID.style.display === 'none') {
let x = ID.style.display === 'block'
return x
}
}
</script>
{{toDayOfYear(day.date)}
函数showingChange(){
让ID=document.getElementById('dayOfYear')
如果(ID.style.display=='none'){
让x=ID.style.display=='block'
返回x
}
}
如果要从html中删除所有脚本标记,应在ts文件中写入函数代码:
HTML
<button (click)="showingChange()"></button>
showingChange(){
let ID = document.getElementById('dayOfYear')
if (ID.style.display === 'none') {
let x = ID.style.display === 'block'
return x
}
}
<button (click)="showingChange()"></button>
<div class="dayOfYear" [ngStyle]="{'display':show == true ? 'block' : 'none' }" >{{ toDayOfYear(day.date) }}</div>
public show: boolean = false;
showingChange(){
this.show = true;
}
编辑(角度法):
<button (click)="showingChange()"></button>
showingChange(){
let ID = document.getElementById('dayOfYear')
if (ID.style.display === 'none') {
let x = ID.style.display === 'block'
return x
}
}
<button (click)="showingChange()"></button>
<div class="dayOfYear" [ngStyle]="{'display':show == true ? 'block' : 'none' }" >{{ toDayOfYear(day.date) }}</div>
public show: boolean = false;
showingChange(){
this.show = true;
}
HTML
<button (click)="showingChange()"></button>
showingChange(){
let ID = document.getElementById('dayOfYear')
if (ID.style.display === 'none') {
let x = ID.style.display === 'block'
return x
}
}
<button (click)="showingChange()"></button>
<div class="dayOfYear" [ngStyle]="{'display':show == true ? 'block' : 'none' }" >{{ toDayOfYear(day.date) }}</div>
public show: boolean = false;
showingChange(){
this.show = true;
}
你发布的代码块中没有按钮。你为什么要使用script标记?也同意@Chellappan,你的问题标记为“Angular”和“Typescript”,但你正在使用
标记将Javascript嵌入html中。这是一种非常糟糕的做法。@ChristianScillitoe Day of Year您不应该通过文档对象访问dom。。。更好的方法是创建一个类变量,并使用*ngIf方向显示/隐藏元素。我同意Mateusz的观点,但这会起作用。另外,不相关,但他是通过一年中的某一天的id获得的,但实际上这是class@MateuszKlimentowicz谢谢,我修改了答案,增加了一个更实用的方法。