C#, doesn't support global methods, so jQuery's $
function can't be used as simply in Saltarelle as it is in Javascript.
A simple expression like $('#SomeElementId)
in Javascript corresponds to Saltarelle C# code jQuery.Select("#SomeElementId")
.
As a workaround, ScriptContext class can be used:
public class ScriptContext
{
[InlineCode("$({p})")]
protected static jQueryObject J(object p);
[InlineCode("$({p}, {context})")]
protected static jQueryObject J(object p, object context);
}
As $
is not a valid method name in C#, J
is chosen instead. In subclasses of ScriptContext, jQuery.Select() function can be called briefly as J()
.
public class SampleClass : ScriptContext
{
public void SomeMethod()
{
J("#SomeElementId").AddClass("abc");
}
}