Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQUERY仅当包含input type=text(而不是input type=radio)时才更改TD样式_Jquery_Css_Text_Input_Radio - Fatal编程技术网

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]
这正是我想要的!谢谢