2016-01-19 11 views
0

Как добавить тег <span> После поиска другого тега span? Пример имеют этот тег:WebBrowser добавить тег span

<span data-offset-key="d5l2u-0-0"> 
<br data-text="true"> 
</span> 

**Must look like this:** 

<span data-offset-key="d5l2u-0-0"> 
    <span data-text="true">Hello stackoverflow</span> 
</span> 
+0

Вам нужно больше информации, в этот HTML код который генерируется кодом позади? – Chad

+0

Нужно сделать пару foreach найти первый Span ** ** После того, как Span должен включить тег в html с любым словом. – William

+0

Так я этот код, сгенерированный ** <диапазон данных смещения ключ = «d5l2u-0-0»>
** Мне нужно автоматизировать и добавить любой текст используя другой тег: ** Привет, stackoverflow ** – William

ответ

0

Вы можете использовать JQuery таким образом, чтобы заменить все внутри тегов:

$(document).find('span').html('<span data-text="true">Hello stackoverflow</span>'); 

Найдет первый пролет во всем HTML. Если вы хотите, чтобы искать в какой-то конкретного тега, как DIV с идентификатором под названием «контроль» вы можете сделать так:

$('#control').find('span').html('<span data-text="true">Hello stackoverflow</span>'); 
+0

Спасибо, но мне нужно знать, как это сделать на C#? – William

+0

Я не знаю много о C#. Конечно, есть простой способ сделать это, но я бы попробовал выражение регулярного выражения. Поиск '() (. | \ N) * (<\/span>)' и заменить для '$ 1 Hello stackoverflow <\/span> $ 3' – BaconShield

0

Вы можете достичь этого путем создания HtmlHelper и поместив его в файл HtmlHelperExtensions.cs. Этот вспомогательный метод использует TagBuilder для создания собственного встроенного тега span html span.

например.

public static MvcHtmlString SpanInSpan<TModel, TProperty>(
      this HtmlHelper<TModel> htmlHelper, 
      Expression<Func<TModel, TProperty>> expression, 
      string dataOffset = null, 
      IDictionary<string, object> htmlAttributes = (IDictionary<string, object>)null) 
     { 
      var metadata = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData); 
      var spanContent = metadata.Model.ToString(); 

      var tagBuilder = new TagBuilder("span"); 
      tagBuilder.MergeAttributes(htmlAttributes); 
      tagBuilder.MergeAttribute("data-text", "true"); 
      tagBuilder.InnerHtml = spanContent; 

      var outerTagBuilder = new TagBuilder("span"); 
      outerTagBuilder.MergeAttributes(htmlAttributes); 
      outerTagBuilder.MergeAttribute("data-offset-key", dataOffset); 
      outerTagBuilder.InnerHtml = tagBuilder.ToString(TagRenderMode.Normal); 

      return MvcHtmlString.Create(outerTagBuilder.ToString(TagRenderMode.Normal)); 
     } 

Вы можете использовать, что внутри вашего зрения для работы с вашей моделью зрения

например

@Html.SpanInSpan(x => x.PropertyName, "d5l2u-0-0") 

Выход после рендеринга этой точки зрения является следующее:

Rendered View

+0

Спасибо, но я не смог использовать эту функцию в Windows Form. Вы знаете, что мне нужно использовать в Win Form? – William

Смежные вопросы