问题是我想通过使用执行if,else函数的按钮来更改img标签的src。但我认为我的代码不专业,有更好的方法来做同样的工作。第一个
7vhp5slm1#
这里有另一个解决方案,它只有5行JS。它使用if-else oneliner,详细的指南可以在here中找到。我还使用了HTML数据属性而不是变量:data-smile="false"我删除了Element的id,因为您可以通过data-attribute选择它。第一个希望能有所帮助:)
data-smile="false"
ukxgm1gy2#
我试着理解你的问题,你想要相同的目标,但在另一个代码的方式:您可以使用img.onclick = () => { ... }以下是第一个
img.onclick = () => { ... }
mwg9r5ms3#
我提出了一种通用的方法,在这种方法中,图像源可以在主要(可能是OP的"微笑"状态)和次要("不微笑"状态)源之间切换。然后,一种实现方式利用data-* global attributes,例如data-primary-toggle-src、data-secondary-toggle-src,并且可能是data-toggle-state,以及这种图像元素的相关dataset属性,用于读取要被交替的图像源并且写入当前切换状态(例如,'primary'对'secondary')。通用的方法和封装的实现使代码可以重用(例如,在同一文档或其他项目中多次重用)。第一个
data-*
data-primary-toggle-src
data-secondary-toggle-src
data-toggle-state
dataset
'primary'
'secondary'
3条答案
按热度按时间7vhp5slm1#
这里有另一个解决方案,它只有5行JS。它使用if-else oneliner,详细的指南可以在here中找到。
我还使用了HTML数据属性而不是变量:
data-smile="false"
我删除了Element的id,因为您可以通过data-attribute选择它。
第一个
希望能有所帮助:)
ukxgm1gy2#
我试着理解你的问题,你想要相同的目标,但在另一个代码的方式:您可以使用
img.onclick = () => { ... }
以下是
第一个
mwg9r5ms3#
我提出了一种通用的方法,在这种方法中,图像源可以在主要(可能是OP的"微笑"状态)和次要("不微笑"状态)源之间切换。
然后,一种实现方式利用
data-*
global attributes,例如data-primary-toggle-src
、data-secondary-toggle-src
,并且可能是data-toggle-state
,以及这种图像元素的相关dataset
属性,用于读取要被交替的图像源并且写入当前切换状态(例如,'primary'
对'secondary'
)。通用的方法和封装的实现使代码可以重用(例如,在同一文档或其他项目中多次重用)。
第一个