动态JQuery对象选择器

时间:2019-07-07 17:30:27

标签: javascript jquery

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

第三方代码未在所有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"]');

秘密是什么?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

谢谢大家。使它起作用:

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