我怎样才能用C语言编写jQuery?

时间:2011-11-01 15:17:04

标签: jquery c++ c linux fedora

如何使用C语言进行jQuery调用?

假设我们有一个数据包(例如html):

<div id="mymute"> 
 <div>
 </div>
 <div>
   <img src="/agents/sleeping.png" />
 </div>
 <div>
 </div>
</div>

Javascript / Jquery它查询数据包并找到图像标记并更新src属性。像这样使用:

$('#mymute').find('div').find('img').attr('src','/agents/wakeUP.png'); 

但是在C中我该怎么做呢? (不是如何解析字符串但是如何实现这样的函数()。function()。function()。function()。endless ...()。endless()?

main.c中:

int
main () {
"This is a html string".cWayFind("is").cWayFind("etc etc").cWayModify(properties, tonewProperties);

 return 0;
}

4 个答案:

答案 0 :(得分:7)

您可能想要使用C ++。在那里,从一个可以引用相同底层数据的函数返回一个对象非常容易。即如果你有像

这样的东西
 struct DOMNode {
      DOMNode Find (const char* name);
 };

您可以立即输入DOMNode ().Find("foo").Find("bar");,无需特殊魔法。

如果要修改对象本身,只需返回对this的引用。

 struct DOMNode {
      DOMNode& SetAttribute (const char* name, const char* value) { /* ... */; return *this; }
 };

答案 1 :(得分:2)

这是一个很好的起点:

http://en.wikipedia.org/wiki/Method_chaining

答案 2 :(得分:0)

要做这样的事情,通常你会将接收者(即this)作为每个函数调用的第一个参数传递。

cWayModify(cWayFind(cWayFind("This is a html string", "is"), "etc etc"), properties, tonewProperties);

首先评估最内部的函数调用。方法调用的点运算符实际上只是语法糖,使代码更具可读性;评估的第一个操作首先在链式代码行中发生。

答案 3 :(得分:0)

您需要一个用C ++实现的jQuery类型解析器。在这一点上,我不知道存在任何存在。