如何解析/获取/获取一个源代码行?

时间:2014-07-07 07:16:48

标签: javascript jquery casperjs

我想获得HTML源代码的一行值。

以下是代码的一部分:

<body><div><span>Hello</span></div>
<p class="selected">Hello Again</p>
<p>And Again</p>

  <td class="first">
    <input type="checkbox" name="mainForm:tableEPS_PORTEFEUILLE_SITE:5:j_idt164" onclick="clickCheck(this, 'EPS_PORTEFEUILLE_SITE');"/>

  <input type="hidden" name="trdataEPS_PORTEFEUILLE_SITE" value="CED$$PAL$$" />
 </td>
<td><a href="#" onclick="mojarra.jsfcljs(document.getElementById('mainForm'),{'mainForm:tableEPS_PORTEFEUILLE_SITE:5:j_idt172':'mainForm:tableEPS_PORTEFEUILLE_SITE:5:j_idt172'},'');return false">
  <label>
CED</label>
  </a>
</td>
<textarea id="messages"></textarea> <!--print the result for my test-->

<script>
    var x = $("input:contains('CED')").prev(); //my jquery test to get the line
    $( "#messages" ).val(x); //sending the result to be shown in the html page
</script>

</body>

我的目标是在变量'x'中包含前一行包含'CED'的行。 所以,我想要x = "input type=checkbox name="mainForm:tableEPS_PORTEFEUILLE_SITE:5:j_idt164" onclick="clickCheck(this, 'EPS_PORTEFEUILLE_SITE');"/>"

最后,x = mainForm:tableEPS_PORTEFEUILLE_SITE:5:j_idt164

所以,要实现这一点,我在casperjs中使用jquery:

var x = $("input:contains('CED')").prev(); 
$( "#messages" ).val(x); 

我猜var x定义是正确的,但我找不到存储线的方法。

所以我的问题是:

  • 在prev()之后我应该放什么?
  • 而且,.val(x)是否正确?

对于Linux用户,它就像x = awk -F'"' {print $3}

1 个答案:

答案 0 :(得分:0)

我用

做到了
this.evaluate (function() { return $("input[value='CED$$PAL$$']").prev().click()});