如何在 Jquery 选择器中使用变量? [复制]
Posted
技术标签:
【中文标题】如何在 Jquery 选择器中使用变量? [复制]【英文标题】:How can i use a variable in a Jquery selector? [duplicate] 【发布时间】:2017-07-12 10:59:06 【问题描述】:我怎样才能做到这一点?变量范围包含菜单或内容。所以我需要它来查找 ID 为 Scope_Menu
或 Scope_Content
的输入,具体取决于变量范围。
var scope = $(this).data('scope');
$('#frmEditPagevar').find('input[id="Scope_ + scope"]').prop("checked", true);
【问题讨论】:
使用$('#Scope_' + scope).prop("checked", true)
.find('input[id="Scope_" + scope + "]')
模板文字 - .find(`input[id="Scope_$scope"]`)
- 对我来说更具可读性 developer.mozilla.org/en/docs/Web/javascript/Reference/…
***.com/questions/5891840/…
【参考方案1】:
$('#frmEditPagevar').find('input[id="Scope_' + scope + '"]').prop("checked", true);
你在正确的轨道上,只要留意你的引号和双引号
【讨论】:
你真的不需要找:) 感谢您的回答,它成功了。我会在 7 分钟内接受你的答复。 @sᴜʀᴇsʜᴀᴛᴛᴀ 这一切都取决于他的 ID 是否真的独一无二。尽管它应该是唯一的并且其他方法可以工作,但不能保证,特别是当类和 id 由某种模板引擎生成时。【参考方案2】:您不需要使用.find()
,因为id属性在文档中是唯一的,您可以使用jquery $()
选择器来选择它。
$('#Scope_' + scope).prop("checked", true);
但是,如果您想使用.find()
,请将您的代码更改为底部代码
$('#frmEditPagevar').find('input[id="Scope_'+ scope +'"]').prop("checked", true);
// or
$('#frmEditPagevar').find('#Scope_'+ scope).prop("checked", true);
【讨论】:
【参考方案3】:由于您已经有了一个 id,在一个理想的世界中,下面应该可以工作。
var scope = $(this).data('scope');
$("#Scope_"+ scope).prop("checked", true);
【讨论】:
【参考方案4】:您应该使用我的以下代码来编写您的代码::
var scope = $(this).data('scope');
$('#frmEditPagevar').find('#Scope_' + scope).prop("checked", true);
【讨论】:
以上是关于如何在 Jquery 选择器中使用变量? [复制]的主要内容,如果未能解决你的问题,请参考以下文章