本文整理汇总了C#中CsQuery.CQ.Append方法的典型用法代码示例。如果您正苦于以下问题:C# CQ.Append方法的具体用法?C# CQ.Append怎么用?C# CQ.Append使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CsQuery.CQ
的用法示例。
在下文中一共展示了CQ.Append方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PrepareHtml
//.........这里部分代码省略.........
var src = img.Attr("src").Replace("/thumb", "");
src = Regex.Replace(src, @"[.](jpg|png|gif)\/.+$", @".$1", RegexOptions.IgnoreCase);
var image = new Image(src, new Uri(Wiki)) {Sashie = true};
CQ node = a.Closest(".thumb").Add(a).First();
if (_images.Count == 0 && EntryPicture)
{
// We can view it as a full-fledged image since we don't need to worry about text-flow
image.Sashie = false;
dom.Before(image.Html);
}
else
{
node.Before(image.Html);
//node.After("<span class=\"image-stopper\"></span>");
}
node.Remove();
_images.Add(image);
}
// Catch references
foreach (IDomElement supNode in dom.Find("sup.reference"))
{
var sup = new CQ(supNode);
CQ footnote = "<span class=\"fn\"></span>";
CQ oldFootnote = dom.Find("#" + sup.Attr("id").Replace("_ref-", "_note-"));
footnote.Html(oldFootnote.Find(".reference-text").Html());
oldFootnote.Remove();
sup.Before(footnote).Remove();
}
// Remove possible reference title
dom.Find(".references").Prev(":header").Remove();
// Remove edit links
dom.Find(".editsection, #toc").Remove();
// Make smart quotes
dom.Find("p:contains('\"'), p:contains(\"'\"), li:contains('\"'), li:contains(\"'\")").Each((el) =>
{
CQ p = new CQ(el);
string pHtml = p.Html();
// Replace quotes
if (Regex.Matches(pHtml, """).Count % 2 == 0)
{
pHtml = Regex.Replace(pHtml, ""(.+?)"", "“$1”");
}
else
{
Console.WriteLine("NOTICE: possible quotes problem ({0})", pHtml.Trim());
}
// Replace single quotes (\b doesn't work)
pHtml = Regex.Replace(pHtml, "(?<!\\w)'(.+?)'(?!\\w)", "‘$1’");
// Replace apostrophes
pHtml = Regex.Replace(pHtml, "'", "’");
p.Html(pHtml);
});
// Parse Ruby
dom.Find("span > span > span").Each(el =>
{
var rubySpan = new CQ(el);
if(rubySpan.Css("position") == "relative" && rubySpan.Css("left") == "-50%") {
var textSpan = rubySpan.Parent().Siblings("span");
var containerSpan = textSpan.Parent();
if (textSpan.Length == 1 && containerSpan.Css("white-space") == "nowrap")
{
// Okay, this is ruby.
var ruby = new CQ("<ruby>");
ruby.Html(textSpan.Html());
ruby.Append(new CQ("<rp>(</rp>"));
ruby.Append(new CQ("<rt>").Html(rubySpan.Html()));
ruby.Append(new CQ("<rp>)</rp>"));
containerSpan.ReplaceWith(
ruby
);
}
}
});
// Hakomari specific
foreach (IDomElement star in dom.Find("p:contains(✵)"))
{
star.InnerHTML = "<img src=\"" + (new Uri( Helper.GetAssetsPath() + "blackstar.jpg" )) + "\">";
}
return dom.Render();
}
示例2: Contents
public void Contents()
{
Assert.AreEqual(jQuery("#ap").Contents().Length, 9, "Check element contents" );
Assert.IsTrue( jQuery("#iframe").Length>0, "Check existence of IFrame document" );
jQuery("#loadediframe").Append(@"<html>
<head>
<title>iframe</title>
</head>
<body>
<div><span>span text</span></div>
</body>
</html>");
var ibody = jQuery("#loadediframe").Contents().Find("body");
Assert.IsTrue( ibody.Length>0, "Check existance of IFrame body" );
var csq = new CQ("span", ibody);
Assert.AreEqual(csq.Text(), "span text", "Find span in IFrame and check its text" );
jQuery(ibody).Append("<div>init text</div>");
csq = new CQ("div", ibody);
Assert.AreEqual(csq.Length, 2, "Check the original div and the new div are in IFrame" );
csq = new CQ("div:last", ibody);
Assert.AreEqual(csq.Text(), "init text", "Add text to div in IFrame" );
csq = new CQ("div:last", ibody);
csq.Text("div text");
Assert.AreEqual(new CQ("div:last", ibody).Text(), "div text", "Add text to div in IFrame");
csq = new CQ("div:last", ibody).Remove();
Assert.AreEqual(jQuery("div",ibody).Length, 1, "Delete the div and check only one div left in IFrame" );
Assert.AreEqual(jQuery("div",ibody).Text(), "span text", "Make sure the correct div is still left after deletion in IFrame" );
csq = new CQ("<table/>", ibody);
csq.Append("<tr><td>cell</td></tr>").AppendTo(ibody);
csq = new CQ("table", ibody);
csq.Remove();
csq = new CQ("div", ibody);
Assert.AreEqual(csq.Length, 1, "Check for JS error on add and delete of a table in IFrame" );
// using contents will get comments regular, text, and comment nodes
var c = jQuery("#nonnodes").Contents().Contents();
Assert.AreEqual(c.Length, 1, "Check node,textnode,comment contents is just one" );
Assert.AreEqual(c[0].NodeValue, "hi", "Check node,textnode,comment contents is just the one from span" );
}