Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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
Javascript 试图通过元素名称的前缀获取元素_Javascript_Jquery - Fatal编程技术网

Javascript 试图通过元素名称的前缀获取元素

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

我正在使用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><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:你说得对,它起作用了。写一个答案,我会给出你的观点