如何添加<span>
标记
找到另一个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 :(得分:0)
您可以使用JQuery替换span标记内的所有内容:
$(document).find('span').html('<span data-text="true">Hello stackoverflow</span>');
这将在整个html中找到第一个跨度。如果你想在一些特定的标签内搜索,比如名为“control”的id的div,你可以这样做:
$('#control').find('span').html('<span data-text="true">Hello stackoverflow</span>');
答案 1 :(得分:0)
您可以通过创建HtmlHelper并将其放在HtmlHelperExtensions.cs文件中来实现此目的。这个帮助方法使用TagBuilder来创建自定义嵌入式html span标记。
e.g。
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));
}
然后,您可以在视图中使用它来处理视图模型
e.g。
@Html.SpanInSpan(x => x.PropertyName, "d5l2u-0-0")
渲染此视图后的输出如下: