- Marc has over 30 years of experience in technology consulting and software development across a variety of industries.
- He has received the Microsoft MVP award for SharePoint Server three times (2011-2013).
- He maintains a popular blog and several open source projects related to SharePoint and jQuery.
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
30+ Years Technology Consulting Expertise in SharePoint and .NET
1.
2. • More than 30 years of experience in technology professional services and
software development. Over a wide-ranging career in consulting as well as line
manager positions, Marc has proven himself as a problem solver and leader who
can solve difficult technology problems for organizations across a wide variety of
industries and organization sizes.
• Three-time awardee of the Microsoft MVP award for SharePoint Server (2011,
2012, 2013).
5. Note the protocol-less references
Referencing jQuery, jQueryUI, and SPServices from CDNs – Revisited
http://sympmarc.com/2013/02/07/referencing-jquery-jqueryui-and-spservices-from-cdns-revisited/
6. Opening tag
Closing tag
Powered by <a href="http://office365.com">Office365</a>.
Attribute
Value
Element
Self-closing tag
<input id="my-cbox" class="foo bar" type="checkbox" checked />
Id
Class(es)
Attribute
Value
Property
15. • .NET Applications like
SharePoint generate some
long and ugly markup and
IDs
id="ctl00$ctl41$g_26ee1140_76aa_4
ec0_88c4_11e7e96480f4$ctl00$ctl02
$ctl00$ctl01$ctl00$ContentTypeCho
ice"
• These selector tricks really
help
$("[id='foo']");
//
$("[id!='foo']");
//
$("[id^='foo']");
//
$("[id$='foo']");
//
$("[id*='foo']");
//
$("[id~='foo']");
//
$("[id|='foo']");
//
$("[id]");
//
$("[id][class][style]");
Equal to
Not equal to
Starts with
Ends with
Contains
Contains word
Contains prefix
Has attribute
// Has all
28. var wpTitles = $("h2.ms-WPTitle");
// Remove the links on the Web Part Titles
wpTitles.find("nobr").unwrap("<a></a>");
// Show the pointer on mouseover
wpTitles.css("cursor", "pointer");
// Add click behavior that toggles the visibility
wpTitles.click(function() {
$(this).closest("table").closest("tr").next().slideToggle();
});
29. // Collect all of the choices
$(thisFormField).find("tr").each(function() {
columnOptions.push($(this).html());
});
out = "<TR>";
// Add all of the options to the out string
for(i=0; i < columnOptions.length; i++) {
out += columnOptions[i];
// If we've already got perRow columnOptions in the row,
// close off the row
if((i+1) % opt.perRow === 0) {
out += "</TR><TR>";
}
}
out += "</TR>";
// Remove the existing rows...
$(thisFormField).find("tr").remove();
// ...and append the out string
$(thisFormField).find("table").append(out);