问题
I have a div that changes based on if the form was submitted correctly or not.
I wanted to know if it's possible to check a specific element for a class or not?
Starting out the element looks like this.
<div id="myerrortest" class="input text"></div>
If the input isn't correct add the error class.
<div id="myerrortest" class="input text error"></div>
回答1:
Try this:
browser.div(:id => "myerrortest").class_name
More information:
http://watir.github.com/watir-webdriver/doc/Watir/HTMLElement.html#class_name-instance_method
Another alternative would be to just see if the div with class you expect exists or not
browser.div((:id => "myerrortest", :class => 'input text').exists?
If using rSpec type matchers it would be
browser.div((:id => "myerrortest", :class => 'input text').should exist
回答2:
You can do this with jquery (or not, jquery sintax is only more simple but with getelement you can do anything).
This is an example that add class with a button click:
$(".button").click(function(){
$("#myerrortest").attr("class",$("#myerrortest").attr("class")+" error");
});
this work also with $(".classname"). Hope it help
来源:https://stackoverflow.com/questions/10807743/check-tag-classes-with-watir