我的第一个问题。我的英语也很好,我可以形容为好,所以请原谅(不知道更好的词:))。
我正在使用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/
在此简化和清除我的webbrowser缓存后,它正常工作!谢谢大家的意见。这是代码(如果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>
答案 0 :(得分: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"]
答案 1 :(得分:0)
如果要同时使用这两个类来访问元素
,请尝试此操作$('tr.package_' + package_errors_ids[i] + '.alt td:nth-child(5) input[type=text]')
.css('border', '1px solid red');