Policy Violations 这会渲染出两个跨度之间有一些空间。 在代码中,我们在 JS 中更新: var s-6ren">
gpt4 book ai didi

javascript - 原始 html 渲染与动态 JS 渲染的间距不同

转载 作者:行者123 更新时间:2023-11-28 19:44:56 24 4
gpt4 key购买 nike

这是我页面的一小部分:

<a href="#"  onclick="PolicyViolation(<%: ViewBag.DeviceData[i].DeviceID%>); return false;">
<span class="policyViolationsNumber"><%= ViewBag.DeviceData[i].ViolationCount%></span>
<span>Policy Violations</span>
</a>

这会渲染出两个跨度之间有一些空间。

在代码中,我们在 JS 中更新:

var spanViolationNumber = $('<span>')
.html(statusModel.Violations)
.addClass('policyViolationsNumber');
var spanViolationString = $('<span>')
.html('<%=ServiceSite.Resources.Resources.DEVICES_POLICY_VIOLATIONS%>');
var imageTag = $('<img>')
.attr('src', '/Content/images/error_error.png')
.attr('align', 'absmiddle');
var anchorTag = $('<a href="#">')
.append(spanViolationNumber)
.append(spanViolationString);
cell.empty();
cell.append(imageTag)
.append(anchorTag);

但是,这会渲染出跨度之间没有空间。我以前见过类似的小问题,但从未弄清楚它是什么。您可以忽略图像标签的内容,它是无关紧要的。

编辑:

不知道这一点,我想这是预期的行为:http://jsfiddle.net/2MMuA/

最佳答案

额外的空间是由于您设置 HTML 格式的方式造成的。

“span”标签是一个内联 HTML 元素。这基本上意味着您需要像对待页面上的文本一样对待它。

<span>Hello</span> <span>World</span>
<!-- Prints Hello World -->

<span>Hello</span>
<span>World</span>
<!-- Prints Hello World
The line break is where your extra space is coming from. -->

<span>Hello</span><span>World</span>
<!-- prints HelloWorld
This is how the ".append()" function is formatting the HTML.
It adds it literally right after the last character in the HTML. -->

为了在两种不同的技术之间规范化这一点,您必须将“span”标记彼此相邻,这样 HTML 就不会添加额外的空格...

<span></span><span></span>

..或者您需要在“.append()”函数中手动添加空格。

obj.append(' ' + spanTag);

希望对您有所帮助!

关于javascript - 原始 html 渲染与动态 JS 渲染的间距不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24462346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com