- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我确信这是一个简单的错误,但我已经花了一个多小时试图找到问题所在,并且肯定可以使用不同的观点。
在下面的函数中,我改变了两个按钮的样式。其中之一正确响应,并且在调用该函数 (deleteBtnToDecorate
) 时它的字体大小确实发生了变化。
另一个,我不明白为什么它没有响应并且字体大小没有改变(doneBtnToDecorate
):
changeStyle: function(idNumber){
const liToDecorate = document.getElementById(`id${idNumber}`)
const doneBtnToDecorate = document.getElementById(`idDone${idNumber}`)
const deleteBtnToDecorate = document.getElementById(`idDelete${idNumber}`)
liToDecorate.style.textDecoration = 'line-through'
doneBtnToDecorate.style.fontSize = '0.8rem'
deleteBtnToDecorate.style.fontSize = '1.1rem'
}
我尝试过的事情:
控制台记录了点击两个按钮以验证它们是否全部目标正确。 他们是
手动更改 css 字体大小以验证 Bootstrap 是否可能问题(尽管如果是这样,另一个按钮就不会要么改变)但无论如何......事实是:它改变成功当我通过 CSS 而不是 DOM 时
这是我的完整代码:
<ul class="item-list-ul">
<li
v-for="(i, index) in items"
:id="`id${index}`"
:key="index">{{ i }}
<div class="item-butons">
<b-button :id="`idDone${index}`" class="done-btn" @click="changeStyle(index)" size="sm" variant="outline-dark">Hecho!</b-button>
<b-button :id="`idDelete${index}`" class="delete-btn" @click="deleteItem(i)" size="sm" variant="warning">Borrar</b-button>
</div>
</li>
</ul>
</div>
</template>
<script>
export default {
name: 'TodoList',
methods: {
changeStyle: function(idNumber){
const liToDecorate = document.getElementById(`id${idNumber}`)
const doneBtnToDecorate = document.getElementById(`idDone${idNumber}`)
const deleteBtnToDecorate = document.getElementById(`idDelete${idNumber}`)
liToDecorate.style.textDecoration = 'line-through'
doneBtnToDecorate.style.fontSize = '0.8rem'
deleteBtnToDecorate.style.fontSize = '1.1rem'
}
}
}
</script>
<style lang="css">
.item-wrapper{
padding: 4vh 3vh 4vh 3vh;
}
.item-list-ul{
margin-right: 4vh;
}
.item-list-ul li{
margin-bottom: 3vh;
}
.item-list-ul li{
font-size: 1.4em !important;
font-weight: 600;
list-style: outside none none;
}
.done-btn{
margin-right: 20px;
font-size: 1rem !important;
font-weight: 600 !important;
}
.delete-btn{
font-size: 0.9rem;
font-weight: 600 !important;
}
</style>
最佳答案
您的 CSS 使用 !important
:
.done-btn {
...
font-size: 1rem !important;
...
}
如果您使用 !important
,它将优先于内联样式。
顺便说一句,这并不是在 Vue 中执行此操作的正确方法。您应该通过 class
或 style
绑定(bind)在模板中应用更改,而不是直接获取元素并更改它们。
关于javascript - 按钮不响应 DOM cssStyleDeclaration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58399938/
我正在尝试使用浏览器的内置类型 CSSStyleDeclaration 以编程方式传递和修改样式(由于 .cssText 属性,这很方便)。 但是,new CSSStyleDeclaration()
是否可以在 JavaScript 中覆盖 CSSStyleDeclaration 对象的 textShadow 属性? 我尝试了以下方法: var element = document.createE
我正在从事一个元素,该元素转换元素的左侧 CSS 属性,该属性被定义为百分比(例如 100% 到 0%)。我在 Chrome 中进行开发,它为我提供了 left 的 style 百分比值,这是的工作方
当我编辑内容并保存更改时,它会在刷新页面时显示 [object CSSStyleDeclaration] 而不是我更新的内容。 function newElement() { let li = d
我的意思是这个函数的逆向: styleObj = window.getComputedStyle(node); 所以像这样: node = window.getNodeFromStyle(styleO
我确信这是一个简单的错误,但我已经花了一个多小时试图找到问题所在,并且肯定可以使用不同的观点。 在下面的函数中,我改变了两个按钮的样式。其中之一正确响应,并且在调用该函数 (deleteBtnToDe
我在 Eclipse RCP 应用程序上工作,该应用程序具有使用 XULRunner 的 HTML 编辑器。在与编辑器交互的 JavaScript 代码中,我想使用 CSSStyleDeclarati
我知道要替换单个样式,代码看起来像这样: myDOMElement.style.height = '400px'; 但是如果我想一举完全替换整个样式对象,从而加快速度并避免重绘怎么办?例如,我想这样做
假设我在 HTML 文件中有一个按钮, Click Me 使用 JavaScript 将该按钮的颜色更改为红色。 const btn = document.querySelector('#btn');
我有一个小函数,它将接受一串 css(例如 background: red; width: 145px; height: 145px;)并返回一个 CSSStyleDeclaration 但如果我有一
(仅限 CHROME)我试图在运行时修改媒体查询相关的 CSSRules,但是,当我修改规则时,文档不会重新呈现。只有当媒体查询再次更改时,文档才会重新呈现。如果你看一下 fiddle ,你会注意到在
我想在所有元素上实现名为 myColor 的假样式。在元素上设置 myColor 样式时,实际的 color 应设置为相同的值。执行此操作的明显方法是在 CSSStyleDeclaration.pro
我有一个简单的 div,它使用一个 css 类,该类又具有 color 和 background-color 属性集。 var div = document.createElement("div");
错误下以下代码无效: 类型“CSSStyleDeclaration”上不存在属性“backdropFilter”。 const modal = document.createElement('div'
我有一些 CSSStyleDeclaration 的自定义方法。我是这样用的: A_OBJECT.style.method() ; 代码很简单: CSSStyleDeclaration.prototy
我想检索可以设置为 dom 对象的所有可用键/样式的列表:CSSStyleDeclaration 对象。如果我在 chrome 中运行这行代码 console.log(Object.keys(docu
问题是一些css属性有不同的名称是javascript,例如js中的textOverflow是css中的text-overflow。 在 js 引擎的某处是否有一个我可以访问的翻译表,或者我必须自己做
比如我们需要访问body的padding-right let el = document.querySelector('body'); let style = window.getComputedSt
我正在 W7 上的 IE 11 和最新的 Chrome 中研究 CSSStyleDeclaration。我的标记是这样的: 问题是在 Chrome 中它没有最小高度但 IE 可以正确显示。有人能解释
我在捕获 cssutils.css.CSSStyleDeclaration 检测到的 CSS 属性验证错误时遇到了问题。 初始代码: from cssutils.css import CSSStyle
我是一名优秀的程序员,十分优秀!