2012-08-03 29 views
4

我試圖隱藏一個按鈕,如果它包含值'foo'。如何根據值隱藏元素包含?

下面的代碼是不工作,我不能明白爲什麼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Example</title> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 

<script type="text/javascript"> 
    $(document).ready(function() { 
    $("button:contains('foo')").parent('div').hide(); 
    }); 
</script> 

</head> 
<body> 

    <div class="prod_buy"> 
    <input name="Add to Cart" type="submit" class="rb green txtbutton" value="foo"> 
    </div> 

</body> 
</html> 

回答

5
<script type="text/javascript"> 
$(document).ready(function() { 
    $("input[value=foo]").closest('div').hide(); 
}); 
</script> 
+0

工作得很好,謝謝。 – Dan382 2012-08-03 15:09:52

1

看起來你是不匹配的按鈕,這是一個提交輸入。

使用這樣的事情:

$("input[type=submit][value*=foo]").parent('div').hide(); 

value*意味着它會匹配「包含」如它會匹配一個名爲'foobar'的按鈕。在這裏看到:http://api.jquery.com/attribute-contains-selector/

工作例如:http://jsfiddle.net/e4ar9/

+0

感謝隊友,這是解決它!非常感激。 – Dan382 2012-08-03 15:01:14