首页 > 解决方案 > 动态 JQuery 对象选择器

问题描述

我有一个 jquery 选择器,用于在由第三方创建的某些插件代码中选择一个对象。当我对一个搜索项进行硬编码时,它可以工作,但是当我尝试使用变量来调整搜索时,找不到该对象。

第 3 方代码不包括所有 CSS 代码的 id 句柄。因此有必要搜索字符串,在这种情况下是标签和标签内的关联值。

我搜索了互联网并尝试了各种似乎对其他人有用的样本,但没有成功。

有效的搜索是这样的:

var $box = $('label[for="MMDListsRecord_0_title"]');
$box.text('<?php echo $NewLabel ?>');

但是当我打破搜索线时,为了动态选择一行,搜索失败。我已经尝试了所有这些组合:

var $row = 0;
var $box = 'label[for="MMDListsRecord_'+ $row +'_title"]';
$box.text('<?php echo $NewLabel ?>');
var row = 0;
var $x = 'label[for="MMDListsRecord_'+ row +'_title"]';
var $box = $(x);
$box.text('<?php echo $NewLabel ?>');
var $row = 0;
var $box = $('label[for="MMDListsRecord_'+ $row +'_title"]');
$box.text('<?php echo $NewLabel ?>');
var $row = '0';
var $box = $('label[for="MMDListsRecord_'+ $row +'_title"]');
$box.text('<?php echo $NewLabel ?>');
var $row = "0";
var $box = $('label[for="MMDListsRecord_'+ $row +'_title"]');
$box.text('<?php echo $NewLabel ?>');

然后去尝试只搜索标题的所有组合,结果jquery搜索崩溃或失败。

var $box = $("label[for=~'title");
$box.text('<?php echo $NewLabel ?>');
 var $box = $('label[for=~"_title"]');
$box.text('<?php echo $NewLabel ?>');
var $box = $("[for~='_title'");
$box.text('<?php echo $NewLabel ?>');

所有组合都找不到代码对象,整个字符串除外

var $box = $('label[for="MMDListsRecord_0_title"]');

秘诀是什么?

标签: javascriptjquery

解决方案


您已定义$row变量,但已使用row- 它未定义。 https://jsfiddle.net/s4cyqku6/


推荐阅读