Javascript 如何在jquery筛选函数中返回属性值

Javascript 如何在jquery筛选函数中返回属性值,javascript,jquery,filter,Javascript,Jquery,Filter,如何使用jquery过滤器函数返回匹配属性的值?我在下面尝试过,它返回的对象不是属性的值 var-htmlBlock=''; if(htmlBlock.match(“数据用户模式”)和&htmlBlock.match(“当前用户模式”)){ 变量匹配=$(htmlBlock).filter(函数(){ 返回$(this.attr('data-user-mode-key'); }); $(“输入#索引模式”).val(匹配); console.log(“匹配”,匹配); } 您不需要筛选,只需获

如何使用jquery过滤器函数返回匹配属性的值?我在下面尝试过,它返回的对象不是属性的值

var-htmlBlock='';
if(htmlBlock.match(“数据用户模式”)和&htmlBlock.match(“当前用户模式”)){
变量匹配=$(htmlBlock).filter(函数(){
返回$(this.attr('data-user-mode-key');
});
$(“输入#索引模式”).val(匹配);
console.log(“匹配”,匹配);
}

您不需要
筛选
,只需获取
属性

var-htmlBlock='';
if(htmlBlock.match(“数据用户模式”)和&htmlBlock.match(“当前用户模式”)){
var matching=$(htmlBlock.attr('data-user-mode-key');
$(“输入#索引模式”).val(匹配);
console.log(“匹配”,匹配);
}

如果您的HTML可能有多个具有该属性的元素,或者该属性位于嵌套元素中,则按照以下方式进行操作:

var-htmlBlock='';
var$matches=$(“”)。append(htmlBlock)。find(“[data user mode=CURRENT\u mode\u user]”);
变量值=$.map($matches,function(elem){
返回$(elem).attr(“数据用户模式键”);
});
if(值.长度){
//如果需要将此数组作为字符串放入输入框中,请取消注释
//$(“输入#索引模式”).val(值);
日志(“匹配”,值);
}

代码中的
htmlBlock
是什么?@KoshVery上面的html行在js代码中定义在哪里?过滤器将返回对象,而不是attr值。这就是过滤器的作用。filter方法返回一个布尔值,以确定是否应将元素作为筛选结果返回。由于变量仅包含一个元素,因此使用map、filter或其他任何方法都没有意义。只需解析它并获取attribute@Peter,如果您想要获得多个属性,那么它将更加棘手。请提供一个较大区块的示例。