【问题标题】:select by data and text as a variable按数据和文本选择作为变量
【发布时间】:2020-06-26 02:29:13
【问题描述】:

尝试通过其data-x将其text 作为变量选择元素
没有成功

var x = 5;
$(`.texbtn[data-x="fweight" && text="${x}"]`).css('background', 'gold');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='texbtn' data-x='fweight'>5</div>

【问题讨论】:

  • 控制台告诉你选择器:unrecognized expression: .texbtn[data-x="fweight" &amp;&amp; text="5"] 选择器中没有 &&
  • @mplungjan 您链接上的所有解决方案都使用字符串而不是变量
  • var 取决于您的文字。只需将文本更改为 ${} 变量:`.texbtn[data-x=fweight]:contains("${x}")`
  • 您尝试将 jQuery 选择器视为 javascript 语句。您也可以使用过滤器
  • @mplungjan - 你错过了一些报价 - “fweight”

标签: javascript jquery


【解决方案1】:

控制台告诉你选择器:

无法识别的表达式:.texbtn[data-x="fweight" && text="5"]

选择器中没有 &&

这是一个正确的选择器和一个使用过滤器的替代方法

var x = 5;
$(`.texbtn[data-x=fweight]:contains("${x}")`)
  .css('background', 'gold');

$('.texbtn[data-x=fweight1]')
  .filter(obj => $(obj).text=x)
  .css('background', 'silver');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='texbtn' data-x='fweight'>5</div>
<div class='texbtn' data-x='fweight1'>5</div>

【讨论】:

    猜你喜欢
    • 2016-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多