我有 js 代码,它返回我的表的数据行。单击每一行时,它们会展开并计划通过调用另一个 ajax 请求来显示该行的子数据。
\n\n我的子数据代码如下所示:
\n\nfunction format ( d ) {\n var results;\n $.ajax({ url: 'http://127.0.0.1:7101/MUDRESTService/rest/v1/feedbacks/' + \n d.FeedbackId + '/child/MudFeedbackDetailsVO?onlyData=true',\xe2\x80\xa8 \n type: 'get', \n dataType: 'json', \n success: function(output) {\xe2\x80\xa8 console.log(output.items[0].CriticalPath) ; \n results = output.items[0]; \n }\xe2\x80\xa8 \n });\n return results.CriticalPath;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n问题可能是该方法没有在 results.CriticalPath 返回的时间值之前完成。我可以在 chrome js 控制台中看到值,因此数据部分没有问题。
\n\n那么我应该如何让它在响应准备好后返回值
\n在一个非常凌乱的页面上,我有一个 div,我试图找到一种方法来计算不在我的 div 中的所有元素的(总)高度。
无论 div 的位置、大小和内容如何,我都需要计算它。我曾尝试offsetHeight,clientHeight和window.getComputedStyle.getPropertyValue('height')我已经发现的offsetHeight提供了最可靠的结果(据我所知只有保证金缺失)。
我试图用一种非动态的方式来计算所有其他元素的高度,但我的误差幅度超过了 120 像素(我使用<body>的高度作为目标)。
编辑:
我知道如何获得一个元素的渲染高度,我现在想要渲染高度关闭除 one 之外的所有元素。
代码:
var heights = {
'body' : { 'element': document.getElementsByTagName( 'body' )[ 0 ], 'computed': window.getComputedStyle( document.getElementsByTagName( 'body' )[ 0 ], null ) },
'header' : { 'element': document.getElementById( 'headertxtContainer' ), 'computed': window.getComputedStyle( document.getElementById( 'headertxtContainer' ), null ) },
'content': { 'element': document.getElementById( 'body_div' ), 'computed': window.getComputedStyle( document.getElementById( 'body_div' ), null ) …Run Code Online (Sandbox Code Playgroud)