0

对不起,如果这个初学者问题,但我有一些jQuery来隐藏 SharePoint 中的字段可以正常工作,但现在我想在用户单击按钮时切换(隐藏/显示)。我觉得我很接近但无法正确使用语法。

我很确定这是$("input[toggleButton]).click(function()我搞砸了。任何想法都会很棒。

<style type="text/css">
#toggleButton {
margin-top:10px;
padding-right:20px;
text-align:right;
}
</style>

<br/>

<input type="button" class="toggleButton" value="Show/Hide All Fields" id="toggleButton">


<script>
$(document).ready(function()
{
$("input[toggleButton]).click(function()

{
$("nobr:contains('Approved By')").parent('h3').parent('td').parent('tr').toggle();
$("nobr:contains('Assigned To:')").parent('h3').parent('td').parent('tr').toggle();
$("nobr:contains('Request Status')").parent('h3').parent('td').parent('tr').toggle();
});
});

</script>
4

3 回答 3

1

采用

$(".toggleButton").click(function(){
    ...
});
于 2013-07-30T22:34:32.960 回答
1

我在 $() 中直接调用#toggleButton。

http://jsfiddle.net/agdm/fQhDh/1/

$(document).ready(function () {
  $('#toggleButton').click(function() {
    $("td:contains('Approved By')").parent().toggle();
    $("td:contains('Assigned To')").parent().toggle();
    $("td:contains('Request Status')").parent().toggle();
  });
});

也根据:http ://reference.sitepoint.com/html/nobr

“nobr 元素在现代浏览器中有很好的支持(出于向后兼容的原因),但不应使用。”

于 2013-07-30T22:39:34.480 回答
0

使用 jQuery 选择元素时,您使用 CSS 选择器。像您一样使用元素名称和方括号时,您使用的是属性选择器。例如,它看起来像这样:

$("a[title]"); // Select all <a> elements with the title attribute set to whatever value 
$("a[title=foobar]"); // Select all <a> elements with the title attribute set to "foobar"

您在标记中定义的按钮有一个类名和一个 ID 集。因为按类名选择可能会返回多个元素,所以我会使用 ID,因为它始终是唯一的。您可以使用“#”按 ID 选择元素,如下所示:

$("#id"); // Will return only one element

您可以使用“。”选择给定类的元素。像这样:

$(".className"); // Could return multiple elements

本文档解释了 CSS 中选择器的使用:http: //www.w3.org/TR/CSS2/selector.html

我不认为您的按钮单击事件的事件处理程序被调用,因为选择器似乎是错误的。这个应该适合你:

$(document).ready(function() {

    $("#toggleButton").click(function() {
        // Do something
    });

});
于 2013-07-31T09:27:49.090 回答