简体   繁体   English

创建动态类名时,如何在JavaScript字符串中添加空格?

[英]How can I put whitespace in the javascript string when I make a dynamic class name?

I'am using Javascript in ASP.NET MVC. 我在ASP.NET MVC中使用Javascript。 I need to make class name dynamically which includes whitespace, but it doesn't work. 我需要动态地创建包含空格的类名,但是它不起作用。

The result becomes 结果变成

<script class="carousel-item" active="">

rather than 而不是

<script class="carousel-item active">

Below is the code block. 下面是代码块。

@for (var i = 0; i < Model.Banners.Count; i++)
{
                    var className = "carousel-item";
                    if (i == 0)
                    {
                        className += " active";
                    }

                    var srcName = "";
                    if (Model.Banners[i].Image != null)
                    {
                        srcName = "data:image;base64," + @System.Convert.ToBase64String(Model.Banners[i].Image);
                    }

                    <div class=@className>
                        <img class="d-block img-fluid" src=@srcName/>
                    </div>
}

You're missing quotes around @className in <div class=@className> , try <div class="@className"> instead. 您在<div class=@className> @className周围缺少引号,请尝试使用<div class="@className">

You should also add quotes around @srcName too in the img tag 您还应该在img标签中在@srcName周围添加引号

<div class="@className">
    <img class="d-block img-fluid" src="@srcName"/>
</div>

Explanation 说明

Without the quotes <div class="@className"> will render 没有引号<div class="@className">将呈现

<div class=carousel-item active>

Which gets interpreted as 哪个被解释为

<div class="carousel-item" active="">

Actually you are missing the quotes("") for html attribute, the correct html syntax is attr1="value1, value2", and you are making it as attr1=value1 value2. 实际上,您缺少html属性的双引号(“”),正确的html语法为attr1 =“ value1,value2”,并且将其设置为attr1 = value1 value2。

Try: 尝试:

<div class="@className">
    <img class="d-block img-fluid" src="@srcName"/>
</div>

Or: 要么:

var className = "\"carousel-item";
if (i == 0)
{
    className += " active";
}
className += "\"";

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM