Javascript 试图通过元素名称的前缀获取元素
我正在使用jquery 1.3.2。Javascript 试图通过元素名称的前缀获取元素,javascript,jquery,Javascript,Jquery,我正在使用jquery 1.3.2。 这是我的代码: var additionsPricesItems = debitPrice.find('table[name|=Addition_]'); debitPrice具有以下结构: <DIV name="DebitPrice"><SELECT name=CustomerSelect><OPTION value=5264>5113575921</OPTION></SELECT><BR
这是我的代码:
var additionsPricesItems = debitPrice.find('table[name|=Addition_]');
debitPrice具有以下结构:
<DIV name="DebitPrice"><SELECT name=CustomerSelect><OPTION value=5264>5113575921</OPTION></SELECT><BR><A jQuery1304508596343="43">הסר מחיר חיוב</A>
<TABLE class=PriceBox name="TaskPrice" jQuery1304508596343="45">
<TBODY>
<TR>
<TD class=SubTitle colSpan=2>debit price: </TD></TR>
<TR>
<TD>price: </TD>
<TD><INPUT value=11 type=text name=PriceInput jQuery1304508596343="44"><SELECT class=Small><OPTION selected value="">$</OPTION></SELECT></TD></TR>
<TR>
<TD>by unit: </TD>
<TD><SELECT class=Big name=UnitTypeSelect><OPTION selected value="">none</OPTION><OPTION value=QUANTITY>quantity</OPTION><OPTION value=VOLUME>volume</OPTION><OPTION value=WEIGHT>weight</OPTION></SELECT></TD></TR></TBODY></TABLE>
<TABLE class=PriceBox name="Addition_219" jQuery1304508596343="350">
<TBODY>
<TR>
<TD class=SubTitle colSpan=2>addition price: </TD></TR>
<TR>
<TD>price: </TD>
<TD><INPUT value=12 type=text name=PriceInput jQuery1304508596343="349"><SELECT class=Small><OPTION selected value="">$</OPTION></SELECT></TD></TR>
<TR>
<TD>by unit: </TD>
<TD><SELECT class=Big name=UnitTypeSelect><OPTION value="">none</OPTION><OPTION selected value=QUANTITY>quantity</OPTION></SELECT></TD></TR></TBODY></TABLE></DIV>
5113575921
借方价格:
价格:
$
按单位:
非定量体积光
附加价格:
价格:
$
按单位:
非数量
出于某种原因,additionsPricesItems.length
等于零-jquery不存在;找不到任何匹配元素。但是有一个元素的名称前缀为“Addition_uuz” 使用:
使用:
试试这个
var additionsPricesItems = debitPrice.find('table[name^="Addition_"]');
alert(additionsPricesItems.length
试试这个
var additionsPricesItems = debitPrice.find('table[name^="Addition_"]');
alert(additionsPricesItems.length
您可以尝试使用以下方法:
debitPrice.find('table[name^="Addition_"]');
^=
是以开头的选择器,而|=
是包含前缀选择器。您可以尝试使用以下方法:
debitPrice.find('table[name^="Addition_"]');
^=
是以选择器开头,而|=
是包含前缀选择器。为了澄清问题,|=
选择器意味着:
选择具有以下属性的图元:
具有值的指定属性
等于给定字符串或
从该字符串开始,后跟
连字符(-)
因此,如果您的名字是Addition.-219
,那么选择器就可以工作了
正如其他人所说,您真正需要的是^=
选择器:
选择具有以下属性的图元:
具有值的指定属性
完全从给定字符串开始
从jQuery文档中获取的信息:
为了澄清问题,选择符的意思是: 选择具有以下属性的图元: 具有值的指定属性 等于给定字符串或 从该字符串开始,后跟 连字符(-) 因此,如果您的名字是
Addition.-219
,那么选择器就可以工作了
正如其他人所说,您真正需要的是^=
选择器:
选择具有以下属性的图元:
具有值的指定属性
完全从给定字符串开始
从jQuery文档中获取的信息:
您是否尝试过使用选择器启动
.find('table[name^=“Addition”]”)
@rudi_visser:^=和|=?之间的区别是什么?^=
以开头,=
包含。这不应该有什么区别,但你永远不知道。@rudi_visser:你说得对,它起作用了。写一个答案,我会给你你的分数。看,你有没有尝试用选择器开始.find('table[name^=“Addition”]”)
@rudi_visser:^=和|=?之间的区别是什么?^=
以开头,=
包含。这不应该有什么区别,但你永远不知道。@rudi_visser:你说得对,它起作用了。写一个答案,我会给出你的观点