Я получал много пустых текстовых узлов с принятой функцией фильтра. Если вас интересует только выбор текстовых узлов, которые не содержат пробелов, попробуйте добавить условие nodeValue
к вашей функции filter
, например, простое $.trim(this.nodevalue) !== ''
:
$('element')
.contents()
.filter(function(){
return this.nodeType === 3 && $.trim(this.nodeValue) !== '';
});
http : //jsfiddle.net/ptp6m97v/
Или чтобы избежать странных ситуаций, когда содержимое выглядит как пробел, но это не так (например, символ мягкого дефиса
, символы новой строки \n
, табуляции, и т.д.), вы можете попробовать использовать регулярные выражения. Например, \S
будет соответствовать любым непробельным символам:
$('element')
.contents()
.filter(function(){
return this.nodeType === 3 && /\S/.test(this.nodeValue);
});
Заменить метод Equals вашего объекта и напишите реализацию, которая сравнивает свойства, которые делают его равным.
public override bool Equals(object obj)
{
return MyProperty == ((MyObject)obj).MyProperty
}