0

我的第一个问题。此外,我的英语还远远不够,我可以形容为好,所以请原谅(不知道更好的词:))。

我正在使用 php 生成具有不同样式的表行。

if ($n % 2 == 0)
    $tr_class = ' class="package_' . $p->package_id . ' alt"';
else {
    $tr_class = ' class="package_' . $p->package_id . '"';
}

<tr<?php echo $tr_class ?>

我想在具有类的每一行的第五个单元格中选择输入字段并为其package_{number here}添加一些样式。为此,我使用该语句:

$('tr.package_' + package_errors_ids[i] + ' td:nth-child(5) input[type=text]').css('border', '1px solid red');

但是二等舱(.alt)不允许我这样做。我不知道如何修改该语句来实现这一点。你会帮忙吗?:)

我忘记写了。它有效,但并非每次都有效。Package_errors_ids 是一个数组,其中包含我用来创建唯一 ID 以区分用户无效包的数字。当 2 行无效(一个具有 .alt 类)时,两者都受此代码影响css('border', '1px solid red');。但是当一个有效时,这些行都不受影响。

编辑:我已经简化了我的混合 js 和 php 代码,以便在不使用 JavaScript 数组 http://jsfiddle.net/TAdsT/7/的情况下生成代码

经过这种简化并清除我的浏览器缓存后,它可以正常工作!谢谢大家的意见。这是代码(如果 jsfindle.net 删除它):

<script type="text/javascript">
$(document).ready(function() {
<?php
$count = count($this->package_errors_ids);
if ($count > 0)
{
    for ($i = 0; $i < $count; $i++)
    {
        echo "$('tr.package_" .
            (int) $this->package_errors_ids[$i] .
            " td:nth-child(5) input[type=\"text\"]').css('border', '1px solid red');\n";
    }
}
?>
});
</script>
4

2 回答 2

1

我正在看这个:

// in PHP
$('tr.package_' + package_errors_ids[i] + ' td:nth-child(5) input[type=text]')

我假设这将产生类似的东西:

// after PHP
$('tr.package_1 td:nth-child(5) input[type=text]')

这在选择<tr class="package_1 alt">. 一点都不麻烦。假设您的 HTML 生成正确,这意味着您做错了其他事情。我将假设它是这一部分:

input[type=text]

尝试将其更改为

input[type="text"]
于 2012-10-10T18:58:43.530 回答
0

如果你想同时使用这两个类来访问元素,试试这个

$('tr.package_' + package_errors_ids[i] + '.alt td:nth-child(5) input[type=text]')                   
   .css('border', '1px solid red');
于 2012-10-10T19:38:23.063 回答