选择除单击之外的其他元素

时间:2010-01-12 20:52:55

标签: javascript jquery asp-classic

当您不知道元素的名称时,如何在单击其他元素时选择带有jquery的元素?下面的代码循环遍历所有类别。我不知道有多少类别,或者名称是什么。单击“insertUrl”链接后,我需要选择文本区域。

我唯一能想到的是在onclick中运行一个函数并将文本区域的名称作为参数传递。

此外,我不确定当每个链接具有相同的ID时我都可以使用选择器,所以这甚至可能吗?

<%
    FullName = objCategory.ID & "|" & objCategory.Name
%>      
<TD COLSPAN="2">
<TEXTAREA ROWS="5" CLASS="formWide" id="<%=FullName %>"><%= objCategory.Text %></TEXTAREA><br />
<a href="#" id="insertUrl">Insert URL</a>
</TD>

3 个答案:

答案 0 :(得分:1)

如果HTML结构保持不变,您可以使用.prev()

您不应该拥有相同ID的元素。您可以使用课程class="insertUrl"

<%
  FullName = objCategory.ID & "|" & objCategory.Name
%>      
<TD COLSPAN="2">
  <TEXTAREA ROWS="5" CLASS="formWide" id="<%=FullName %>"><%= objCategory.Text %></TEXTAREA><br />
  <a href="#" class="insertUrl">Insert URL</a>
</TD>

$(".insertUrl").click(function() {
  var textarea = $(this).siblings('textarea');
});

答案 1 :(得分:1)

如果你使用它可能会更好:

$(this).siblings('textarea');

通过这种方式,您可以更灵活地使用html控件命令。 这样,如果您删除了该内容或更改该内容中的其他内容,脚本仍然可以正常工作。

答案 2 :(得分:1)

更好的方法是使用<label>元素。这样,您可以在文本注释和textarea之间插入以后的其他元素,它仍然可以工作。

<textarea id="ta_id1" onclick="click_processing_func"></textarea>
<label for="ta_id1" class="link">Insert Url</label>

现在,如果有人点击标签,textarea将收到点击事件。