繁体   English   中英

从整个 HTML 动态添加类到 img 标签

[英]Dynamically add class to img tag from entire HTML

我有一个丰富的编辑器,可以添加文本和图像,使图像具有响应性

class="img-thumbnail"

在所有图像标签中都需要,所以使用 HtmlAgility 包从整个 Html 中提取图像标签,但如何在每个图像标签上添加类。

例子

提取图片标签后从html输入

<img src="http://domain.com/images/image1.jpg">

预期的

<img src="http://domain.com/images/image1.jpg" class="img-thumbnail">

代码

 public string ParseImage(string pHtml)
    {

        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(pHtml);
        var imgs = doc.DocumentNode.SelectNodes("//img");

        foreach (var item in imgs)
        {
            string orig = item.Attributes["src"].Value;
            //Add class to each img tag.
        }
      }

我想问题在于您需要在显示之前保存 HTML。 否则 HTML Agility Pack 有时会忽略更改的属性。

public string ParseImage(string pHtml)
{

   HtmlDocument doc = new HtmlDocument();
   doc.LoadHtml(pHtml);
   var imgs = doc.DocumentNode.SelectNodes("//img");

    foreach (var item in imgs)
    {
        //string orig = item.Attributes["src"].Value;
        item.SetAttributeValue("class", "img-thumbnail");
        //Add class to each img tag.
    }
    using(StringWriter tw = new StringWriter ()){
        doc.Save(tw);
        return tw.ToString();
    }
 }

您可以像这样在 css 中为所有图像标签添加属性

.img-thumbnail
{
  // your class property
}

img {
.img-thumbnail
}

这是一个类似的问题。

我想将现有的 CSS 样式应用于页面上的所有标签。 如何?

暂无
暂无

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

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