选择器中的 jQuery 变量

标签 jquery html

我需要 $('.mk[value=x]') 才能工作,但它不需要 $('.mk[value=1]') 确实如此。 请有人帮忙

<body>
<span class="mk" value="1">1</span>
<span class="mk" value="1">1</span>
<span class="mk" value="3">3</span>
<input id="update" type="button" value="1" />
</body>

<script type="text/javascript">
$('#update').click(function(){
    var x = this.value //--> x =1 
       $('.mk[value=x]').each(function(key, value) { //--> NOT WORKING !
       $('.mk[value=1]').each(function(key, value) { //--> WORKING !
       $(this).replaceWith('<span class="mk" value="2">2</span>')
       });
    })
</script>

最佳答案

您需要将 x 变量附加到字符串:

$(".mk[value='" + x + "']").each(function(key, value)

此外,您应该注意 value 不是 span 的有效属性,因此此代码会导致验证问题。

关于选择器中的 jQuery 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10075896/

相关文章:

javascript - 为什么javascript可以理解函数和循环外的变量?

javascript - 数据表插件无法自定义动态加载的表

javascript - 跨源ajax请求未传递JSON格式的Request Payload

html - UITextView HTML 为图像应用响应式 CSS

html - 相对定位的 parent 不作为绝对定位的 child 的 anchor

html - 如何水平对齐 div 元素到另一个 div?

javascript - 异步加载 HTML 的搜索引擎行为

jquery - 结合图像映射和悬停

CSS 左属性 : 50% OR 500px, 哪个更大?

javascript - 如果元素变得比窗口宽,则在 DIV 中居中元素而不切断左侧内容