JQUERY仅当包含input type=text(而不是input type=radio)时才更改TD样式
我采用了以下风格,对我来说非常有用:JQUERY仅当包含input type=text(而不是input type=radio)时才更改TD样式,jquery,css,text,input,radio,Jquery,Css,Text,Input,Radio,我采用了以下风格,对我来说非常有用: $("td[id='cellId']").css("text-align", "left"); 但是,如果TD包含文本框而不是单选按钮,则我需要将该样式应用于TD 我已经搜索了hi和low,但是find(),contains()和类似的东西似乎都不起作用。使用:has()选择器匹配包含其他元素的元素 $("td#cellId:has(:text)").css("text-align", "left"); 首先请注意,您的$('td[id='cellId'
$("td[id='cellId']").css("text-align", "left");
但是,如果TD包含文本框而不是单选按钮,则我需要将该样式应用于TD
我已经搜索了hi和low,但是find()
,contains()
和类似的东西似乎都不起作用。使用:has()
选择器匹配包含其他元素的元素
$("td#cellId:has(:text)").css("text-align", "left");
首先请注意,您的
$('td[id='cellId'])
非常令人惊讶:我可能猜您有一些var-cellId
包含单元格id,因此您应该使用$('#'+cellId)
现在,由于您没有精确说明td中(最终)嵌套的元素,因此我们必须确保td中没有单选按钮。无论如何,让我们假设我们有
var celllem
,您已经根据需要填充了它(可能如上所示)
所以你可以用这样的方法:
if (!cellElem.find([type=radio]).length) {
cellElemn.css(textAlign: 'left');
}
如果需要筛选包含文本框而非单选按钮的TD-s,则需要使用
:has
和:NOT
组合:
$("td:not(:has(input[type='radio']))").has("input[type='text']").css("background", "red");
下面是一个片段,过滤后的单元格背景为红色。您可以对其应用任何样式
$(:td:not(:has(input[type='radio']))))”.has(“input[type='text'])).css(“背景”、“红色”)代码>
td{
边框:1px纯绿色;
填充物:5px;
}
细胞-1-1
细胞-1-2
细胞-1-3
细胞-2-1
细胞-2-2
细胞2-3
您真的打算使用id=
?id应该是唯一的。你应该使用#cellId
而不是[id=cellId]
这正是我想要的!谢谢