Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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,筛选器的行为与预期的一样,它返回多个div,其中包含一个post类。但是,它只返回div中的内容 <h1></h1> 假设您的结果包含HTML,给定一些基本的HTML示例,在中。each()此引用当前HTML元素(而不是jQuery)对象。要获取外部HTML元素,可以使用如下所示 要从外部内容获取数据帖子id值,请将其包装到jQuery包装器中,以使用$(outerContent.data('posted') 只想补充一下,您不能对结果使用getAttribute()的

筛选器的行为与预期的一样,它返回多个div,其中包含一个post类。但是,它只返回div中的内容

<h1></h1>

假设您的
结果
包含HTML,给定一些基本的HTML示例,在
中。each()
引用当前HTML元素(而不是jQuery)对象。要获取外部HTML元素,可以使用如下所示

要从外部内容获取
数据帖子id
值,请将其包装到jQuery包装器中,以使用
$(outerContent.data('posted')

只想补充一下,您不能对结果使用
getAttribute()
的原因 from
outerHTML
是因为
outerHTML
重新返回 您可以将
DOMString
转换为一个元素 此时只使用jQuery
$(…outerHTML).data()
会更快,但这只是因为您已经在使用它

$('.post')。每个(函数(i,currentElement){
var outerContent=this.outerHTML;
console.log(outerContent);
var p=$(outerContent).data('postId');
log('postId=',p);
});

邮递
职位2
$(this.html()
将为您提供指定选择器的内部HTML,不包括选择器本身

如果您想要内部html和选择器元素本身,您可能需要使用

$(selector)[0].outerHTML
这是一个片段

$(“.post”)。每个(函数(){
console.log($(this)[0].outerHTML)
})


这是另一个
欢迎使用堆栈溢出!请拿着,四处看看,仔细阅读,特别是你的HTML是什么样子的?请使用演示问题的对话框更新您的问题,最好是使用堆栈片段(
[]
工具栏按钮;)运行的对话框。当您提出问题时,文本区域右侧有一个大橙色的“如何设置格式”框,其中包含有用的信息。还有一个完整的格式化工具条。还有一个[?]按钮提供格式化帮助。还有一个预览区,位于文本区和“发布你的问题”按钮之间(这样你就必须滚动过去才能找到按钮,以鼓励你查看),显示你的帖子发布时的样子。让你的帖子清晰明了,并证明你花了时间这样做,可以提高你获得好答案的机会。(这次我为你解决了这个问题。)一个非jQuery的解决方案:使用
。outerHTML
如果你提供一个HTML示例,以及你的预期输出(或预期用途),这会有所帮助。您可能会使事情过于复杂。不需要将
包装到jQuery包装中,只需使用
[0]
再次将其打开即可。只要立即使用
this.outerHTML
<div class="post"><h1></h1></div>
$(result).filter('.post').each(function(i, currentElement) {
    var htmlOfSinglePost = $(this).html();
    var p = $(htmlOfSinglePost).attr("data-post-id");
    console.log(p);
});
$(selector)[0].outerHTML