【发布时间】:2015-09-05 17:10:30
【问题描述】:
我想要完成的是抓取一些嵌入数据,并以特定方式(颜色、位置等)输出。比如我们把嵌入的数据作为<div class="previous">$e://Field/DTBEG}</div>放在问题文本中,但是我想抓取它并直接插入到输入字段下面(我认为我们不能直接在Qualtrics中做,所以需要自定义JS在这里)。
所以在问题文本中,我有:
<div>1a. Reporting Period: Beginning</div>
<div class="previous date">${e://Field/DTBEG}</div>
DTBEG 数据可能为空,也可能是代表日期的 5/6 位。调查的标题有:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
var $j = jQuery.noConflict();
</script>
as explained in their documentation.
然后在 jQuery 中,我可以使用 $j(".previous") 访问该字段的先前数据,但问题是 Qualtrics 实际上在我的问题中放置了 2 个(或更多,取决于问题类型)<div class="previous date"></div> 字段。现在这非常具有误导性,因为每个嵌入的数据都可能有额外的“以前的”div,所以我无法确定嵌入的数据是否只是空的,或者这是一个重复的字段。
...
<h2 class="noStyle">
<label class="QuestionText BorderColor">
<div>1b. Reporting Period: End</div>
<div class="previous date">33113</div> <!-- first instance of the div, this seems to be visible -->
</label>
</h2>
<fieldset>
<div class="QuestionBody">
<table class="ChoiceStructure" border="0" cellpadding="0" cellspacing="0" summary=" 1b.&nbsp; Reporting Period:&nbsp; End&nbsp; 33113 " style="width:710px">
<caption class="QuestionText BorderColor">
<div>1b. Reporting Period: End</div>
<div class="previous date">33113</div> <!-- second instance of the div, this seems to be hidden -->
</caption>
...
</div>
</fieldset
...
有没有更好的方法来完成我想做的事情?我可以编写自己的 JS 来执行此操作,但到目前为止,因为 Qualtrics 的 HTML 输出并不完全符合我的预期,我遇到了问题。
【问题讨论】:
标签: jquery html prototypejs qualtrics