我有一个表列,我正在尝试展开和隐藏。当我按类而不是按元素名称选择jQuery时,jQuery似乎隐藏了<td>元素。

例如:

$(".bold").hide(); // Selecting by class works.
$("tcol1").hide(); // Selecting by name does not work.

注意下面的HTML。第二列对所有行具有相同的名称。如何使用name属性创建此集合?

<tr>
  <td>data1</td>
  <td name="tcol1" class="bold"> data2</td>
</tr>
<tr>
  <td>data1</td>
  <td name="tcol1" class="bold"> data2</td>
</tr>
<tr>
  <td>data1</td>
  <td name="tcol1" class="bold"> data2</td>
</tr>

当前回答

可以使用jQuery属性选择器:

$('td[name="tcol1"]')   // Matches exactly 'tcol1'
$('td[name^="tcol"]' )  // Matches those that begin with 'tcol'
$('td[name$="tcol"]' )  // Matches those that end with 'tcol'
$('td[name*="tcol"]' )  // Matches those that contain 'tcol'

其他回答

您忘记了第二组引号,这会导致接受的答案不正确:

$('td[name="tcol1"]') 

可以使用jQuery属性选择器:

$('td[name="tcol1"]')   // Matches exactly 'tcol1'
$('td[name^="tcol"]' )  // Matches those that begin with 'tcol'
$('td[name$="tcol"]' )  // Matches those that end with 'tcol'
$('td[name*="tcol"]' )  // Matches those that contain 'tcol'

您可以使用任何属性作为带有[attribute_name=value]的选择器。

$('td[name=tcol1]').hide();

可以使用[attribute_name=value]方式选择任何属性。请参见此处的示例:

var value = $("[name='nameofobject']");

您可以通过以下方式使用jQuery中的name元素从输入字段中获取name值:

var firstname=jQuery(“#form1 input[name=firstname]”).val()//退货ABCDvar lastname=jQuery(“#form1 input[name=lastname]”).val()//返回XYZconsole.log(firstname);console.log(姓氏);<script src=“https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js“></script><form name=“form1”id=“form1“><input type=“text”name=“firstname”value=“ABCD”/><input-type=“text”name=“lastname”value=“XYZ”/></form>