Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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 使用jquery获取属性值_Javascript_Jquery - Fatal编程技术网

Javascript 使用jquery获取属性值

Javascript 使用jquery获取属性值,javascript,jquery,Javascript,Jquery,我试图用jquery从属性中获取31003值 <a class= "findOption" data-clickaction="changeFilter" data-actionvalue=" {"Company":"31003", "val": "mostrecent";}" href="javascript:void(0);">Most Recent</a> 我试过了 $(“.findOptions”).attr('Company').value() $(“.

我试图用jquery从属性中获取31003值

 <a class= "findOption" data-clickaction="changeFilter" data-actionvalue=" {"Company":"31003", "val": "mostrecent";}" href="javascript:void(0);">Most Recent</a>

我试过了

$(“.findOptions”).attr('Company').value()

$(“.findOptions”).attr('data-actionvalue')

我卡住了。

您可以使用:

正如@Barmar指出html无效,您应该在html中这样做:

data-actionvalue='{"Company":"31003", "val": "mostrecent"}'

首先,您的HTML不正确。由于在
dataactionvalue
中的JSON中使用双引号,因此必须使用单引号作为属性值周围的分隔符。否则,
Company
前面的引号将结束该属性

此外,值中不应该有分号(
)`,这是无效的JSON

<a class= "findOption" data-clickaction="changeFilter" data-actionvalue='{"Company":"31003", "val": "mostrecent"}' href="javascript:void(0);">Most Recent</a>
[]

$('.findOption').data('actionvalue')['Company']

我认为这应该行得通

$(".findOption").data('actionvalue')['Company'];

您的代码中有几处更正:

1) 修复“actionvalue”,如我的代码所示。 2) 使用findOption而不是findOption(它在代码中不存在)

var obj=$(“.findOption”).data('actionvalue');
$(“#结果”).text(对象公司)



公司
是字符串的一部分,该字符串是
数据操作值
的值<代码>公司
本身不是一个属性。因此,您需要在该字符串中进行一些搜索。它也是无效的HTML,因为你有双引号。避免在这里和那里使用双引号。。。。正确地使用单引号和双引号来区分它们。我认为您需要使用单引号,因为数据actionvalue属性将读作
data actionvalue=“{”
Company:“
将尝试像另一个属性一样工作。
"
<用于阻止/打开/关闭属性数据。回答很好,但我只是好奇。如果动态创建此锚定标记,默认情况下不会使用双引号吗?@NewToJS无所谓。@NewToJS如果动态创建,则根本不使用引号,这只是HTML语法的一部分。如果动态创建,则是错误的st将DOM作为对象进行操作。@BhojendraNepal我想问一下我们的好奇心。@NewToJS如果您使用不带引号的话,那么它也可以工作。哇,那
eval()
完全没有必要。@Ja͢ck,$('.findOption').data('actionvalue')['Company']或$('findOption').data('actionvalue')).Company不起作用。因此,我选择使用eval来获得结果。不起作用,因为它不被识别为JSON,因为您对键和值使用单引号…相反,您应该在内部使用双引号,对HTML属性使用单引号。
$('.findOption').data('actionvalue')['Company']
$(".findOption").data('actionvalue')['Company'];